- Sort Score
- Result 10 results
- Languages All
Results 31 - 40 of 40 for AuxInt (0.16 sec)
-
src/cmd/compile/internal/ssagen/phi.go
} // Resolve FwdRefs to the correct write or phi. s.resolveFwdRefs() // Erase variable numbers stored in AuxInt fields of phi ops. They are no longer needed. for _, b := range s.f.Blocks { for _, v := range b.Values { if v.Op == ssa.OpPhi { v.AuxInt = 0 } // Any remaining FwdRefs are dead code. if v.Op == ssa.OpFwdRef { v.Op = ssa.OpUnknown v.Aux = nil }
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/memcombine.go
idx = ptr.Args[1] if idx.Op == OpAdd32 || idx.Op == OpAdd64 { if idx.Args[0].Op == OpConst32 || idx.Args[0].Op == OpConst64 { off += idx.Args[0].AuxInt idx = idx.Args[1] } else if idx.Args[1].Op == OpConst32 || idx.Args[1].Op == OpConst64 { off += idx.Args[1].AuxInt idx = idx.Args[0] } } ptr = ptr.Args[0] } else { return BaseAddress{ptr: ptr, idx: idx}, off } } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Mar 21 19:45:41 UTC 2024 - 18.4K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/magic.go
// in 2 instructions on x86.) // umagicOK reports whether we should strength reduce a n-bit divide by c. func umagicOK(n uint, c int64) bool { // Convert from ConstX auxint values to the real uint64 constant they represent. d := uint64(c) << (64 - n) >> (64 - n) // Doesn't work for 0. // Don't use for powers of 2. return d&(d-1) != 0 }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Mar 26 19:58:25 UTC 2024 - 15.8K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/branchelim.go
// because it requires three instructions (OR, MASKEQZ, MASKNEZ) and will increase the // register pressure. if !(v.Args[0].isGenericIntConst() && v.Args[0].AuxInt == 0) && !(v.Args[1].isGenericIntConst() && v.Args[1].AuxInt == 0) { return false } } // For now, stick to simple scalars that fit in registers switch { case v.Type.Size() > v.Block.Func.Config.RegSize: return false
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Nov 30 17:46:51 UTC 2022 - 12.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/poset_test.go
var v [1512]*Value for i := range v { v[i] = new(Value) v[i].ID = ID(i) if i >= 1000 && i < 1256 { v[i].Op = OpConst64 v[i].AuxInt = int64(i - 1000 - 128) } if i >= 1256 && i < 1512 { v[i].Op = OpConst64 v[i].AuxInt = int64(i - 1000 - 256) } } po := newPoset() po.SetUnsigned(unsigned) for idx, op := range ops { t.Logf("op%d%v", idx, op) switch op.typ {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Sat Oct 26 07:52:35 UTC 2019 - 18.1K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/schedule.go
return c > 0 // smaller uses come later } // These comparisons are fairly arbitrary. // The goal here is stability in the face // of unrelated changes elsewhere in the compiler. if c := x.AuxInt - y.AuxInt; c != 0 { return c < 0 } if cmp := x.Type.Compare(y.Type); cmp != types.CMPeq { return cmp == types.CMPlt } return x.ID < y.ID } func (op Op) isLoweredGetClosurePtr() bool { switch op {
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/compile/internal/ssa/_gen/main.go
} type blockData struct { name string // the suffix for this block ("EQ", "LT", etc.) controls int // the number of control values this type of block requires aux string // the type of the Aux/AuxInt value, if any } type regInfo struct { // inputs[i] encodes the set of registers allowed for the i'th input. // Inputs that don't use registers (flags, memory, etc.) should be 0. inputs []regMask
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Jan 19 22:42:34 UTC 2023 - 16.9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/stackalloc.go
if !hasAnyArgOp(v) { continue } if v.Aux == nil { f.Fatalf("%s has nil Aux\n", v.LongString()) } if v.Op == OpArg { loc := LocalSlot{N: v.Aux.(*ir.Name), Type: v.Type, Off: v.AuxInt} if f.pass.debug > stackDebug { fmt.Printf("stackalloc OpArg %s to %s\n", v, loc) } f.setHome(v, loc) 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/shortcircuit.go
} // p is the predecessor corresponding to cidx. pe := b.Preds[cidx] p := pe.b pi := pe.i // t is the "taken" branch: the successor we always go to when coming in from p. ti := 1 ^ ctl.Args[cidx].AuxInt ^ swap te := b.Succs[ti] t := te.b if p == b || t == b { // This is an infinite loop; we can't remove it. See issue 33903. return false } var fixPhi func(*Value, int) if nOtherPhi > 0 {
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/poset.go
if !n.isGenericIntConst() { panic("newconst on non-constant") } // If the same constant is already present in the poset through a different // Value, just alias to it without allocating a new node. val := n.AuxInt if po.flags&posetFlagUnsigned != 0 { val = int64(n.AuxUnsigned()) } if c, found := po.constants[val]; found { po.values[n.ID] = c po.upushalias(n.ID, 0) return }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Sep 04 17:23:05 UTC 2023 - 37.2K bytes - Viewed (0)