- Sort Score
- Result 10 results
- Languages All
Results 1 - 6 of 6 for invalidateCFG (0.34 sec)
-
src/cmd/compile/internal/ssa/block.go
// AddEdgeTo adds an edge from block b to block c. func (b *Block) AddEdgeTo(c *Block) { i := len(b.Succs) j := len(c.Preds) b.Succs = append(b.Succs, Edge{c, j}) c.Preds = append(c.Preds, Edge{b, i}) b.Func.invalidateCFG() } // removePred removes the ith input edge from b. // It is the responsibility of the caller to remove // the corresponding successor edge, and adjust any // phi values by calling b.removePhiArg(v, i).
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/ssa/trim.go
m := len(s.Values) for i := 0; i < k; i++ { s.Values = append(s.Values, nil) } copy(s.Values[k:], s.Values[:m]) copy(s.Values, b.Values) } if n < len(f.Blocks) { f.invalidateCFG() tail := f.Blocks[n:] for i := range tail { tail[i] = nil } f.Blocks = f.Blocks[:n] } } // emptyBlock reports whether the block does not contain actual // instructions.
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/branchelim.go
} } dom.Values = append(dom.Values, simple.Values...) dom.Values = append(dom.Values, post.Values...) // Trash 'post' and 'simple' clobberBlock(post) clobberBlock(simple) f.invalidateCFG() return true } // is this a BlockPlain with one predecessor? func isLeafPlain(b *Block) bool { return b.Kind == BlockPlain && len(b.Preds) == 1 } func clobberBlock(b *Block) {
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/ssa/func.go
func (f *Func) loopnest() *loopnest { if f.cachedLoopnest == nil { f.cachedLoopnest = loopnestfor(f) } return f.cachedLoopnest } // invalidateCFG tells f that its CFG has changed. func (f *Func) invalidateCFG() { f.cachedPostorder = nil f.cachedIdom = nil f.cachedSdom = nil f.cachedLoopnest = nil } // DebugHashMatch returns //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jun 10 19:44:43 UTC 2024 - 25.8K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/fuse.go
if typ&fuseTypeShortCircuit != 0 { changed = shortcircuitBlock(b) || changed } } if typ&fuseTypeBranchRedirect != 0 { changed = fuseBranchRedirect(f) || changed } if changed { f.invalidateCFG() } } } // fuseBlockIf handles the following cases where s0 and s1 are empty blocks. // // b b b b // \ / \ / | \ / \ / | | | // s0 s1 | s1 s0 | | |
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/loopreschedchecks.go
// backedge at index i. for _, v := range h.Values { if v.Op == OpPhi && v != headerMemPhi { v.AddArg(v.Args[i]) } } } f.invalidateCFG() if f.pass.debug > 1 { sdom = newSparseTree(f, f.Idom()) fmt.Printf("after %s = %s\n", f.Name, sdom.treestructure(f.Entry)) } } // newPhiFor inserts a new Phi function into b,
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 22 21:17:10 UTC 2023 - 16K bytes - Viewed (0)