- Sort Score
- Result 10 results
- Languages All
Results 1 - 6 of 6 for BlockPlain (0.13 sec)
-
src/cmd/compile/internal/ssa/fuse.go
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 { if s0.Kind == BlockPlain && isEmpty(s0) && s1.Kind == BlockPlain && isEmpty(s1) {
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/critical.go
// the new blocks to be re-examined. d = f.NewBlock(BlockPlain) d.Pos = p.Pos blocks[argID] = d if f.pass.debug > 0 { f.Warnl(p.Pos, "split critical edge") } } else { reusedBlock = true } } else { // no existing block, so allocate a new block // to place on the edge d = f.NewBlock(BlockPlain) d.Pos = p.Pos if f.pass.debug > 0 {
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/trim.go
// subject to the following criteria: // - it should not be the first block. // - it should be BlockPlain. // - it should not loop back to itself. // - it either is the single predecessor of the successor block or // contains no actual instructions. func trimmableBlock(b *Block) bool { if b.Kind != BlockPlain || b == b.Func.Entry { return false } s := b.Succs[0].b
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Nov 18 17:59:44 UTC 2022 - 4.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/looprotate.go
// 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 if f.IsPgoHot { p.Hotness |= HotPgo
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/fuse_comparisons.go
v.AddArg(pc) v.AddArg(bc) // Set the combined control value as the control value for b. b.SetControl(v) // Modify p so that it jumps directly to b. p.removeEdge(i) p.Kind = BlockPlain p.Likely = BranchUnknown p.ResetControls() return true } // TODO: could negate condition(s) to merge controls. return false }
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/deadcode.go
} // Get rid of dead edges from live code. for _, b := range f.Blocks { if !reachable[b.ID] { continue } if b.Kind != BlockFirst { continue } b.removeEdge(1) b.Kind = BlockPlain b.Likely = BranchUnknown } // Splice out any copies introduced during dead block removal. copyelim(f) // Find live values. live, order := liveValues(f, reachable)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Dec 08 00:29:01 UTC 2023 - 9.2K bytes - Viewed (0)