Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 33 for phi2 (0.26 sec)

  1. 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)
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
Back to top