- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 21 for phi (0.41 sec)
-
src/cmd/compile/internal/ssa/loopreschedchecks.go
// Insert phi functions as necessary for future changes to flow graph. for i, emc := range tofixBackedges { e := emc.e h := e.b // find the phi function for the memory input at "h", if there is one. var headerMemPhi *Value // look for header mem phi for _, v := range h.Values { if v.Op == OpPhi && v.Type.IsMemory() { headerMemPhi = v } } if headerMemPhi == nil {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Aug 22 21:17:10 UTC 2023 - 16K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/block.go
b.Fatalf("inconsistent state for %v, num predecessors: %d, num phi args: %d", phi, n, numPhiArgs) } phi.Args[i].Uses-- phi.Args[i] = phi.Args[n] phi.Args[n] = nil phi.Args = phi.Args[:n] phielimValue(phi) } // LackingPos indicates whether b is a block whose position should be inherited // from its successors. This is true if all the values within it have unreliable positions
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/sccp.go
for _, use := range t.defUse[val] { if val == use { // Phi may refer to itself as uses, ignore them to avoid re-visiting phi // for performance reason continue } t.uses = append(t.uses, use) } for _, block := range t.defBlock[val] { if t.visitedBlock[block.ID] { t.propagate(block) } } } // meet meets all of phi arguments and computes result lattice
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Jan 22 16:54:50 UTC 2024 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/check.go
if f.scheduled { for _, b := range f.Blocks { seenNonPhi := false for _, v := range b.Values { switch v.Op { case OpPhi: if seenNonPhi { f.Fatalf("phi after non-phi @ %s: %s", b, v) } default: seenNonPhi = true } } } } } // domCheck reports whether x dominates y (including x==y).
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/compile.go
// tuple selectors must be tightened to generators and de-duplicated before scheduling {"tighten tuple selectors", "schedule"}, // remove critical edges before phi tighten, so that phi args get better placement {"critical", "phi tighten"}, // don't layout blocks until critical edges have been removed {"critical", "layout"}, // regalloc requires the removal of all critical edges {"critical", "regalloc"},
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 22 14:55:18 UTC 2024 - 18.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/nilcheck_test.go
Bloc("b2", Valu("ptr2", OpAddr, ptrType, 0, nil, "sb"), Goto("checkPtr")), // both ptr1 and ptr2 are guaranteed non-nil here Bloc("checkPtr", Valu("phi", OpPhi, ptrType, 0, nil, "ptr1", "ptr2"), Valu("bool2", OpIsNonNil, c.config.Types.Bool, 0, nil, "phi"), If("bool2", "extra", "exit")), Bloc("extra", Goto("exit")), Bloc("exit", Exit("mem"))) CheckFunc(fun.f) nilcheckelim(fun.f)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Nov 17 23:34:11 UTC 2023 - 12.3K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/loopbce.go
// - the minimum bound // - the increment value // - the "next" value (SSA value that is Phi'd into the induction variable every loop) // // Currently, we detect induction variables that match (Phi min nxt), // with nxt being (Add inc ind). // If it can't parse the induction variable correctly, it returns (nil, nil, nil). func parseIndVar(ind *Value) (min, inc, nxt *Value) { if ind.Op != OpPhi { return }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Nov 07 17:37:47 UTC 2023 - 11.8K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/stackalloc.go
phis = phis[:0] for i := len(b.Values) - 1; i >= 0; i-- { v := b.Values[i] live.remove(v.ID) if v.Op == OpPhi { // Save phi for later. // Note: its args might need a stack slot even though // the phi itself doesn't. So don't use needSlot. if !v.Type.IsMemory() && !v.Type.IsVoid() { phis = append(phis, v) } continue }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Feb 29 21:29:41 UTC 2024 - 12.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/schedule.go
// We also score GetLoweredClosurePtr as early as possible to ensure that the // context register is not stomped. GetLoweredClosurePtr should only appear // in the entry block where there are no phi functions, so there is no // conflict or ambiguity here. if b != f.Entry { f.Fatalf("LoweredGetClosurePtr appeared outside of entry block, b=%s", b.String()) } score[v.ID] = ScorePhi
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 08 15:53:17 UTC 2024 - 16.4K bytes - Viewed (0) -
src/cmd/vendor/github.com/google/pprof/internal/driver/html/stacks.js
} return elem; } function makeColor(index) { // Rotate hue around a circle. Multiple by phi to spread things // out better. Use 50% saturation to make subdued colors, and // 80% lightness to have good contrast with black foreground text. const PHI = 1.618033988; const hue = (index+1) * PHI * 2 * Math.PI; // +1 to avoid 0 const hsl = `hsl(${hue}rad 50% 80%)`; return hsl; } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri May 31 19:48:28 UTC 2024 - 18.5K bytes - Viewed (0)