- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 39 for Succs (0.03 sec)
-
src/cmd/compile/internal/ssa/layout.go
bid = cid continue blockloop } } // Still nothing, pick the unscheduled successor block encountered most recently. for len(succs) > 0 { // Pop an element from the tail of the queue. cid := succs[len(succs)-1] succs = succs[:len(succs)-1] if !scheduled[cid] { bid = cid continue blockloop } } // Still nothing, pick any non-exit block.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 5K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/fuse.go
var ss0, ss1 *Block s0 := b.Succs[0].b i0 := b.Succs[0].i if s0.Kind != BlockPlain || !isEmpty(s0) { s0, ss0 = b, s0 } else { ss0 = s0.Succs[0].b i0 = s0.Succs[0].i } s1 := b.Succs[1].b i1 := b.Succs[1].i if s1.Kind != BlockPlain || !isEmpty(s1) { s1, ss1 = b, s1 } else { ss1 = s1.Succs[0].b i1 = s1.Succs[0].i } if ss0 != ss1 {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 31 20:45:54 UTC 2023 - 9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/likelyadjust.go
return } ln.calculateDepths() b2l := ln.b2l for _, b := range ln.po { l := b2l[b.ID] if l != nil && len(b.Succs) == 2 { sl := b2l[b.Succs[0].b.ID] if recordIfExit(l, sl, b.Succs[0].b) { continue } sl = b2l[b.Succs[1].b.ID] if recordIfExit(l, sl, b.Succs[1].b) { continue } } } ln.initializedExits = true }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 15.4K bytes - Viewed (0) -
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/compile/internal/wasm/ssa.go
case ssa.BlockPlain: if next != b.Succs[0].Block() { s.Br(obj.AJMP, b.Succs[0].Block()) } case ssa.BlockIf: switch next { case b.Succs[0].Block(): // if false, jump to b.Succs[1] getValue32(s, b.Controls[0]) s.Prog(wasm.AI32Eqz) s.Prog(wasm.AIf) s.Br(obj.AJMP, b.Succs[1].Block()) s.Prog(wasm.AEnd) case b.Succs[1].Block(): // if true, jump to b.Succs[0]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Feb 24 00:21:13 UTC 2023 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/phiopt.go
// reverse is the predecessor from which the truth value comes. var reverse int if b0.Succs[0].b == pb0 && b0.Succs[1].b == pb1 { reverse = 0 } else if b0.Succs[0].b == pb1 && b0.Succs[1].b == pb0 { reverse = 1 } else { b.Fatalf("invalid predecessors\n") } for _, v := range b.Values { if v.Op != OpPhi { continue } // Look for conversions from bool to 0/1.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 11 16:34:30 UTC 2022 - 8.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/branchelim.go
return false } yes, no := b.Succs[0].Block(), b.Succs[1].Block() if !isLeafPlain(yes) || len(yes.Values) > 1 || !canSpeculativelyExecute(yes) { return false } if !isLeafPlain(no) || len(no.Values) > 1 || !canSpeculativelyExecute(no) { return false } if b.Succs[0].Block().Succs[0].Block() != b.Succs[1].Block().Succs[0].Block() { return false }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Nov 30 17:46:51 UTC 2022 - 12.7K bytes - Viewed (0) -
src/cmd/compile/internal/test/testdata/flowgraph_generator1.go
// Z: // return y // } // {f:BC_CD_BE_BZ_CZ101, // maxin:32, blocks:[]blo{ // blo{inc:0, cond:true, succs:[2]int64{1, 2}}, // blo{inc:1, cond:true, succs:[2]int64{2, 3}}, // blo{inc:0, cond:true, succs:[2]int64{1, 4}}, // blo{inc:10, cond:true, succs:[2]int64{1, 25}}, // blo{inc:0, cond:true, succs:[2]int64{2, 25}},}}, var labels string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Dec 23 06:40:04 UTC 2020 - 6.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/trim.go
// order, in which the predecessors edges are merged here. p, i := b.Preds[0].b, b.Preds[0].i s, j := b.Succs[0].b, b.Succs[0].i ns := len(s.Preds) p.Succs[i] = Edge{s, j} s.Preds[j] = Edge{p, i} for _, e := range b.Preds[1:] { p, i := e.b, e.i p.Succs[i] = Edge{s, len(s.Preds)} s.Preds = append(s.Preds, Edge{p, i}) } // Attempt to preserve a statement boundary if bIsStmt {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Nov 18 17:59:44 UTC 2022 - 4.2K bytes - Viewed (0)