Search Options

Results per page
Sort
Preferred Languages
Advance

Results 31 - 40 of 40 for AuxInt (0.16 sec)

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