- Sort Score
- Result 10 results
- Languages All
Results 11 - 20 of 39 for Succs (0.04 sec)
-
src/cmd/compile/internal/ssa/critical.go
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 16 21:40:11 UTC 2023 - 3.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/shortcircuit.go
// In these cases, we can reconstruct what the value // of any phi in b must be in the successor blocks. if len(t.Preds) == 1 && len(t.Succs) == 1 && len(u.Preds) == 1 && len(u.Succs) == 1 && t.Succs[0].b == u.Succs[0].b && len(t.Succs[0].b.Preds) == 2 { // p q // \ / // b // / \ // t u // \ / // m //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 03 17:47:02 UTC 2022 - 12.6K 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/fuse_branchredirect.go
ft.restore() if !unsat { continue } // This branch is impossible,so redirect p directly to another branch. out := 1 ^ j child := parent.Succs[out].b if child == b { continue } b.removePred(k) p.Succs[pk.i] = Edge{child, len(child.Preds)} // Fix up Phi value in b to have one less argument. for _, v := range b.Values { if v.Op != OpPhi { continue }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue May 16 21:40:11 UTC 2023 - 3.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/deadcode.go
} // removeEdge removes the i'th outgoing edge from b (and // the corresponding incoming edge from b.Succs[i].b). // Note that this potentially reorders successors of b, so it // must be used very carefully. func (b *Block) removeEdge(i int) { e := b.Succs[i] c := e.b j := e.i // Adjust b.Succs b.removeSucc(i) // Adjust c.Preds c.removePred(j) // Remove phi args from c's phis.
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/s390x/ssa.go
// whether a block has already been emitted. In general forward // branches are assumed 'not taken' and backward branches are // assumed 'taken'. if next == succs[0] { succs[0], succs[1] = succs[1], succs[0] mask = mask.Inverse() } p := s.Br(blockAsm(b), succs[0]) switch b.Kind { case ssa.BlockS390XBRC: p.From.Type = obj.TYPE_CONST p.From.Offset = int64(mask) case ssa.BlockS390XCGRJ, ssa.BlockS390XCRJ,
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 24 01:26:58 UTC 2023 - 27.1K bytes - Viewed (0) -
src/cmd/compile/internal/x86/ssa.go
switch next { case b.Succs[0].Block(): s.Br(jmp.invasm, b.Succs[1].Block()) case b.Succs[1].Block(): s.Br(jmp.asm, b.Succs[0].Block()) default: if b.Likely != ssa.BranchUnlikely { s.Br(jmp.asm, b.Succs[0].Block()) s.Br(obj.AJMP, b.Succs[1].Block()) } else { s.Br(jmp.invasm, b.Succs[1].Block()) s.Br(obj.AJMP, b.Succs[0].Block()) } } default:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 24 01:26:58 UTC 2023 - 26.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/dom.go
type linkedBlocks func(*Block) []Edge func dominators(f *Func) []*Block { preds := func(b *Block) []Edge { return b.Preds } succs := func(b *Block) []Edge { return b.Succs } //TODO: benchmark and try to find criteria for swapping between // dominatorsSimple and dominatorsLT return f.dominatorsLTOrig(f.Entry, preds, succs) } // dominatorsLTOrig runs Lengauer-Tarjan to compute a dominator tree starting at
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Sat Dec 03 17:08:51 UTC 2022 - 7.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/fuse_comparisons.go
if b.Kind != BlockIf || p.Kind != BlockIf { return false } // Don't merge control values if b is likely to be bypassed anyway. if p.Likely == BranchLikely && p.Succs[0].Block() != b { return false } if p.Likely == BranchUnlikely && p.Succs[1].Block() != b { return false } // Check if the control values combine to make an integer inequality that // can be further optimized later. bc := b.Controls[0]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 11 16:34:30 UTC 2022 - 4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/loopbce.go
// is the header block. This implies that b.Succs[0] is // reached iff ind < limit. if len(b.Succs[0].b.Preds) != 1 { // b.Succs[1] must exit the loop. continue } // Second condition: b.Succs[0] dominates nxt so that // nxt is computed when inc < limit. if !sdom.IsAncestorEq(b.Succs[0].b, nxt.Block) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 07 17:37:47 UTC 2023 - 11.8K bytes - Viewed (0)