- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 13 for Succs (0.06 sec)
-
src/cmd/compile/internal/ssa/check.go
} case BlockRetJmp: if len(b.Succs) != 0 { f.Fatalf("retjmp block %s len(Succs)==%d, want 0", b, len(b.Succs)) } if b.NumControls() != 1 { f.Fatalf("retjmp block %s has nil control", b) } if !b.Controls[0].Type.IsMemory() { f.Fatalf("retjmp block %s has non-memory control value %s", b, b.Controls[0].LongString()) } case BlockPlain: if len(b.Succs) != 1 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 09 16:41:23 UTC 2024 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/block.go
func (b *Block) removeSucc(i int) { n := len(b.Succs) - 1 if i != n { e := b.Succs[n] b.Succs[i] = e // Update the other end of the edge we moved. e.b.Preds[e.i].i = i } b.Succs[n] = Edge{} b.Succs = b.Succs[:n] b.Func.invalidateCFG() } func (b *Block) swapSuccessors() { if len(b.Succs) != 2 { b.Fatalf("swapSuccessors with len(Succs)=%d", len(b.Succs)) } e0 := b.Succs[0]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 15 15:44:14 UTC 2024 - 12.2K bytes - Viewed (0) -
src/cmd/vendor/golang.org/x/tools/go/cfg/cfg.go
// // if x := f(); x != nil { // T() // } else { // F() // } // // produces this CFG: // // 1: x := f() Body // x != nil // succs: 2, 3 // 2: T() IfThen // succs: 4 // 3: F() IfElse // succs: 4 // 4: IfDone // // The CFG does contain Return statements; even implicit returns are // materialized (at the position of the function's closing brace). //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 02 02:20:05 UTC 2024 - 7.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/sccp.go
break case BlockDefer: // we know nothing about control flow, add all branch destinations t.edges = append(t.edges, block.Succs...) case BlockFirst: fallthrough // always takes the first branch case BlockPlain: t.edges = append(t.edges, block.Succs[0]) case BlockIf, BlockJumpTable: cond := block.ControlValues()[0] condLattice := t.getLatticeCell(cond) if condLattice.tag == bottom {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jan 22 16:54:50 UTC 2024 - 17.6K bytes - Viewed (0) -
src/cmd/vendor/golang.org/x/tools/go/cfg/builder.go
Stmt: stmt, } block.Succs = block.succs2[:0] g.Blocks = append(g.Blocks, block) return block } func (b *builder) add(n ast.Node) { b.current.Nodes = append(b.current.Nodes, n) } // jump adds an edge from the current block to the target block, // and sets b.current to nil. func (b *builder) jump(target *Block) { b.current.Succs = append(b.current.Succs, target) b.current = nil }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 02 02:20:05 UTC 2024 - 11.4K bytes - Viewed (0) -
src/cmd/compile/internal/ppc64/ssa.go
if jmp.invasmun { // TODO: The second branch is probably predict-not-taken since it is for FP unordered s.Br(ppc64.ABVS, b.Succs[1].Block()) } case b.Succs[1].Block(): s.Br(jmp.asm, b.Succs[0].Block()) if jmp.asmeq { s.Br(ppc64.ABEQ, b.Succs[0].Block()) } default: if b.Likely != ssa.BranchUnlikely { s.Br(jmp.asm, b.Succs[0].Block()) if jmp.asmeq {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 22 19:59:38 UTC 2024 - 55.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/prove.go
return positive } if sdom.IsAncestorEq(p.Succs[1].b, b) && len(p.Succs[1].b.Preds) == 1 { return negative } case BlockJumpTable: // TODO: this loop can lead to quadratic behavior, as // getBranch can be called len(p.Succs) times. for i, e := range p.Succs { if sdom.IsAncestorEq(e.b, b) && len(e.b.Preds) == 1 {
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/vendor/golang.org/x/tools/go/analysis/passes/lostcancel/lostcancel.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jan 22 19:00:13 UTC 2024 - 9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/_gen/genericOps.go
var genericBlocks = []blockData{ {name: "Plain"}, // a single successor {name: "If", controls: 1}, // if Controls[0] goto Succs[0] else goto Succs[1] {name: "Defer", controls: 1}, // Succs[0]=defer queued, Succs[1]=defer recovered. Controls[0] is call op (of memory type) {name: "Ret", controls: 1}, // no successors, Controls[0] value is memory result
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 15:49:20 UTC 2024 - 42.6K bytes - Viewed (0) -
src/cmd/compile/internal/liveness/plive.go
// A variable is live on output from this block // if it is live on input to some successor. // // out[b] = \bigcup_{s \in succ[b]} in[s] newliveout.Copy(lv.blockEffects(b.Succs[0].Block()).livein) for _, succ := range b.Succs[1:] { newliveout.Or(newliveout, lv.blockEffects(succ.Block()).livein) } } if !be.liveout.Eq(newliveout) { change = true be.liveout.Copy(newliveout) }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 15:22:22 UTC 2024 - 45.2K bytes - Viewed (0)