Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 81 for phi2 (0.04 sec)

  1. src/cmd/compile/internal/ssa/shortcircuit_test.go

    			Goto("b3")),
    		Bloc("b3",
    			Valu("phi2", OpPhi, c.config.Types.Bool, 0, nil, "cmp1", "cmp2"),
    			If("phi2", "b4", "b5")),
    		Bloc("b4",
    			Valu("cmp3", OpLess64, c.config.Types.Bool, 0, nil, "arg3", "arg1"),
    			Goto("b5")),
    		Bloc("b5",
    			Valu("phi3", OpPhi, c.config.Types.Bool, 0, nil, "phi2", "cmp3"),
    			If("phi3", "b6", "b7")),
    		Bloc("b6",
    			Exit("mem")),
    		Bloc("b7",
    			Exit("mem")))
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 09 23:01:51 UTC 2017
    - 1.3K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssagen/phi.go

    			// Record the new assignment.
    			values[n] = v
    		}
    
    		// Replace phi args in successors with the current incoming value.
    		for _, e := range b.Succs {
    			c, i := e.Block(), e.Index()
    			for j := len(c.Values) - 1; j >= 0; j-- {
    				v := c.Values[j]
    				if v.Op != ssa.OpPhi {
    					break // All phis will be at the end of the block during phi building.
    				}
    				// Only set arguments that have been resolved.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Nov 18 17:59:44 UTC 2022
    - 15.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/loopreschedchecks.go

    	}
    }
    
    // newPhiFor inserts a new Phi function into b,
    // with all inputs set to v.
    func newPhiFor(b *Block, v *Value) *Value {
    	phiV := b.NewValue0(b.Pos, OpPhi, v.Type)
    
    	for range b.Preds {
    		phiV.AddArg(v)
    	}
    	return phiV
    }
    
    // rewriteNewPhis updates newphis[h] to record all places where the new phi function inserted
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 21:17:10 UTC 2023
    - 16K bytes
    - Viewed (0)
  4. pkg/test/loadbalancersim/timeseries/data.go

    	return s[len(s)-1]
    }
    
    func (s sorted) quantile(phi float64) float64 {
    	if len(s) == 0 || math.IsNaN(phi) {
    		return nan
    	}
    	if phi <= 0 {
    		return s.min()
    	}
    	if phi >= 1 {
    		return s.max()
    	}
    	idx := uint(phi*float64(len(s)-1) + 0.5)
    	if idx >= uint(len(s)) {
    		idx = uint(len(s) - 1)
    	}
    	return s[idx]
    }
    
    func (s sorted) quantiles(phis ...float64) []float64 {
    Registered: Fri Jun 14 15:00:06 UTC 2024
    - Last Modified: Thu Feb 03 18:19:25 UTC 2022
    - 2.1K bytes
    - Viewed (0)
  5. 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)
  6. src/cmd/compile/internal/ssa/shortcircuit.go

    	if nOtherPhi != 0 {
    		// Adjust all other phis as necessary.
    		// Use a plain for loop instead of range because fixPhi may move phis,
    		// thus modifying b.Values.
    		for i := 0; i < len(b.Values); i++ {
    			phi := b.Values[i]
    			if phi.Uses == 0 || phi == ctl || phi.Op != OpPhi {
    				continue
    			}
    			fixPhi(phi, i)
    			if phi.Block == b {
    				continue
    			}
    			// phi got moved to a different block with v.moveTo.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Oct 03 17:47:02 UTC 2022
    - 12.6K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/regalloc.go

    //
    // Phi values are special, as always. We define two kinds of phis, those
    // where the merge happens in a register (a "register" phi) and those where
    // the merge happens in a stack location (a "stack" phi).
    //
    // A register phi must have the phi and all of its inputs allocated to the
    // same register. Register phis are spilled similarly to regular ops.
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/decompose.go

    		}
    	}
    	v.reset(StructMakeOp(n))
    	v.AddArgs(fields[:n]...)
    
    	// Recursively decompose phis for each field.
    	for _, f := range fields[:n] {
    		decomposeUserPhi(f)
    	}
    }
    
    // decomposeArrayPhi replaces phi-of-array with arraymake(phi-of-array-element),
    // and then recursively decomposes the element phi.
    func decomposeArrayPhi(v *Value) {
    	t := v.Type
    	if t.NumElem() == 0 {
    		v.reset(OpArrayMake0)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 23 21:22:15 UTC 2022
    - 13.4K bytes
    - Viewed (0)
  9. 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)
  10. src/cmd/compile/internal/test/testdata/phi_test.go

    		u = int32(data2[20])
    		v = int32(data2[21])
    		w = int32(data2[22])
    		x = int32(data2[23])
    		y = int32(data2[24])
    		z = int32(data2[25])
    	}
    	// Lots of phis of the form phi(int32,int64) of type int32 happen here.
    	// Some will be stack phis. For those stack phis, make sure the spill
    	// of the second argument uses the phi's width (4 bytes), not its width
    	// (8 bytes).  Otherwise, a random stack slot gets clobbered.
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Dec 23 06:40:04 UTC 2020
    - 2.2K bytes
    - Viewed (0)
Back to top