- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 33 for phi2 (0.26 sec)
-
src/cmd/compile/internal/ssa/copyelim.go
} } } // phielim eliminates redundant phi values from f. // A phi is redundant if its arguments are all equal. For // purposes of counting, ignore the phi itself. Both of // these phis are redundant: // // v = phi(x,x,x) // v = phi(x,v,x,v) // // We repeat this process to also catch situations like: // // v = phi(x, phi(x, x), phi(x, v)) // // TODO: Can we also simplify cases like: //
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 22 14:55:18 UTC 2024 - 3.5K 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/deadstore.go
for k := range localAddrs { delete(localAddrs, k) } stores = stores[:0] for _, v := range b.Values { if v.Op == OpPhi { // Ignore phis - they will always be first and can't be eliminated continue } if v.Type.IsMemory() { stores = append(stores, v) for _, a := range v.Args { if a.Block == b && a.Type.IsMemory() {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 25 20:07:26 UTC 2024 - 11K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/check.go
// If no mem phi, take mem of any predecessor. mem = lastmem[b.Preds[0].b.ID] } for _, a := range v.Args { if a.Type.IsMemory() && a != mem { f.Fatalf("two live mems @ %s: %s and %s", v, mem, a) } } if v.Type.IsMemory() { mem = v } } } } // Check that after scheduling, phis are always first in the block. if f.scheduled {
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/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/schedule.go
// Nil checks must come before loads from the same address. score[v.ID] = ScoreNilCheck case v.Op == OpPhi: // We want all the phis first. score[v.ID] = ScorePhi case v.Op == OpArgIntReg || v.Op == OpArgFloatReg: // In-register args must be scheduled as early as possible to ensure that they // are not stomped (similar to the closure pointer above).
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Apr 08 15:53:17 UTC 2024 - 16.4K bytes - Viewed (0) -
cmd/kubeadm/app/cmd/reset_test.go
var testResetConfig = fmt.Sprintf(`apiVersion: %s kind: ResetConfiguration force: true dryRun: true cleanupTmpDir: true criSocket: %s:///var/run/fake.sock certificatesDir: /etc/kubernetes/pki2 ignorePreflightErrors: - a - b `, kubeadmapiv1.SchemeGroupVersion.String(), defaultURLScheme) func TestNewResetData(t *testing.T) { // create temp directory tmpDir, err := os.MkdirTemp("", "kubeadm-reset-test")
Registered: Sat Jun 15 01:39:40 UTC 2024 - Last Modified: Tue Mar 26 13:42:50 UTC 2024 - 8.5K 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/deadstore_test.go
Valu("addr", OpAddr, ptrType, 0, nil, "sb"), Goto("loop")), Bloc("loop", Valu("phi", OpPhi, types.TypeMem, 0, nil, "start", "store"), Valu("store", OpStore, types.TypeMem, 0, c.config.Types.Bool, "addr", "v", "phi"), If("v", "loop", "exit")), Bloc("exit", Exit("store"))) CheckFunc(fun.f) dse(fun.f) CheckFunc(fun.f) } func TestDeadStoreTypes(t *testing.T) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 25 20:07:26 UTC 2024 - 5.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)