- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 81 for phi2 (0.04 sec)
-
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) -
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) -
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) -
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) -
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/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) -
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) -
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) -
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/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)