- Sort Score
- Result 10 results
- Languages All
Results 1 - 2 of 2 for mergePoint (0.4 sec)
-
src/cmd/compile/internal/ssa/memcombine.go
// its memory argument is live. We can't just put it in root.Block. // We use the block of the latest load. loads := make([]*Value, n, 8) for i := int64(0); i < n; i++ { loads[i] = r[i].load } loadBlock := mergePoint(root.Block, loads...) if loadBlock == nil { return false } // Find a source position to use. pos := src.NoXPos for _, load := range loads { if load.Block == loadBlock { pos = load.Pos
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Mar 21 19:45:41 UTC 2024 - 18.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/rewrite.go
return 8 case align%4 == 0: return 4 case align%2 == 0: return 2 } return 1 } // mergePoint finds a block among a's blocks which dominates b and is itself // dominated by all of a's blocks. Returns nil if it can't find one. // Might return nil even if one does exist. func mergePoint(b *Block, a ...*Value) *Block { // Walk backward from b looking for one of the a's blocks. // Max distance d := 100
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 19:02:52 UTC 2024 - 64.2K bytes - Viewed (0)