- Sort Score
- Result 10 results
- Languages All
Results 21 - 30 of 115 for Preds (0.04 sec)
-
src/cmd/compile/internal/ssa/func_test.go
return false } for i := range fb.Succs { if !checkBlk(fb.Succs[i].b, gb.Succs[i].b) { return false } } if len(fb.Preds) != len(gb.Preds) { return false } for i := range fb.Preds { if !checkBlk(fb.Preds[i].b, gb.Preds[i].b) { return false } } return true } return blkcor[fb] == gb && blkcor[gb] == fb }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Sep 08 19:01:04 UTC 2023 - 13.1K bytes - Viewed (0) -
src/cmd/compile/internal/liveness/plive.go
decisionBlock = c } else if len(c.Preds) == 1 && len(d.Preds) == 1 && c.Preds[0].Block() == d.Preds[0].Block() { decisionBlock = c.Preds[0].Block() } else { lv.f.Fatalf("can't find write barrier pattern %v", v) } if len(decisionBlock.Succs) != 2 { lv.f.Fatalf("common predecessor block the wrong type %s", decisionBlock.Kind) } // Flow backwards from the control value to find the
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 15:22:22 UTC 2024 - 45.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/looprotate.go
after := map[ID][]*Block{} // Check each loop header and decide if we want to move it. for _, loop := range loopnest.loops { b := loop.header var p *Block // b's in-loop predecessor for _, e := range b.Preds { if e.b.Kind != BlockPlain { continue } if loopnest.b2l[e.b.ID] != loop { continue } p = e.b } if p == nil { continue } p.Hotness |= HotInitial
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 15:44:14 UTC 2024 - 3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/prove.go
// facts of b.Preds[1] are (in general, b.Preds[1] is // a loop-back edge, so we haven't even been there // yet). As a conservative approximation, we look for // this condition in the predecessor chain until we // hit a join point. uniquePred := func(b *Block) *Block { if len(b.Preds) == 1 { return b.Preds[0].b } return nil }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 04 17:30:21 UTC 2024 - 48.9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/deadcode.go
for len(q) > 0 { // pop a reachable value v := q[len(q)-1] q[len(q)-1] = nil q = q[:len(q)-1] for i, x := range v.Args { if v.Op == OpPhi && !reachable[v.Block.Preds[i].b.ID] { continue } if !live[x.ID] { live[x.ID] = true q = append(q, x) // push if x.Pos.IsStmt() != src.PosNotStmt { liveOrderStmts = append(liveOrderStmts, x) } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Dec 08 00:29:01 UTC 2023 - 9.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/nilcheck.go
node := work[len(work)-1] work = work[:len(work)-1] switch node.op { case Work: b := node.block // First, see if we're dominated by an explicit nil check. if len(b.Preds) == 1 { p := b.Preds[0].b if p.Kind == BlockIf && p.Controls[0].Op == OpIsNonNil && p.Succs[0].b == b { if ptr := p.Controls[0].Args[0]; nonNilValues[ptr.ID] == nil { nonNilValues[ptr.ID] = ptr
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 31 20:45:54 UTC 2023 - 11.3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/regalloc.go
if b == f.Entry { // Regalloc state is empty to start. if nphi > 0 { f.Fatalf("phis in entry block") } } else if len(b.Preds) == 1 { // Start regalloc state with the end state of the previous block. s.setState(s.endRegs[b.Preds[0].b.ID]) if nphi > 0 { f.Fatalf("phis in single-predecessor block") } // Drop any values which are no longer live.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 21 17:49:56 UTC 2023 - 87.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/loopbce.go
// do something // nxt = inc + ind // goto loop // // exit_loop: func findIndVar(f *Func) []indVar { var iv []indVar sdom := f.Sdom() for _, b := range f.Blocks { if b.Kind != BlockIf || len(b.Preds) != 2 { continue } var ind *Value // induction variable var init *Value // starting value var limit *Value // ending value // Check that the control if it either ind </<= limit or limit </<= ind.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 07 17:37:47 UTC 2023 - 11.8K bytes - Viewed (0) -
tensorflow/compiler/mlir/tensorflow/tests/functional-control-flow-to-cfg.mlir
// CHECK: cf.br ^bb1([[CASTENTRY]] : tensor<!tf_type.variant>) // CHECK: ^bb1([[CONDARG0:%.+]]: tensor<!tf_type.variant>): // 2 preds: ^bb0, ^bb2 // CHECK: [[CONTINUE:%.+]] = call @testWhileCond([[CONDARG0]]) : (tensor<!tf_type.variant>) -> tensor<i1> // CHECK: [[TOBOOL:%.+]] = "tf.ToBool"([[CONTINUE]]) : (tensor<i1>) -> tensor<i1>
Registered: Sun Jun 16 05:45:23 UTC 2024 - Last Modified: Mon Oct 30 06:52:55 UTC 2023 - 12.3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/stackalloc.go
} } } // for each predecessor of b, expand its list of live-at-end values // invariant: s contains the values live at the start of b (excluding phi inputs) for i, e := range b.Preds { p := e.b t.clear() t.addAll(s.live[p.ID]) t.addAll(live.contents()) t.addAll(spillLive[p.ID]) for _, v := range phis { a := v.Args[i] if s.values[a.ID].needSlot {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Feb 29 21:29:41 UTC 2024 - 12.6K bytes - Viewed (0)