Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 11 for OpArgFloatReg (0.25 sec)

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

    	for _, b := range f.Blocks {
    		for _, v := range b.Values {
    			if !opcodeTable[v.Op].generic {
    				continue // lowered
    			}
    			switch v.Op {
    			case OpSP, OpSPanchored, OpSB, OpInitMem, OpArg, OpArgIntReg, OpArgFloatReg, OpPhi, OpVarDef, OpVarLive, OpKeepAlive, OpSelect0, OpSelect1, OpSelectN, OpConvert, OpInlMark, OpWBend:
    				continue // ok not to lower
    			case OpMakeResult:
    				if b.Controls[0] == v {
    					continue
    				}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 16 00:16:13 UTC 2023
    - 1.7K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/ssa/numberlines.go

    		OpIMake, OpStringMake, OpSliceMake, OpStructMake0, OpStructMake1, OpStructMake2, OpStructMake3, OpStructMake4,
    		OpConstBool, OpConst8, OpConst16, OpConst32, OpConst64, OpConst32F, OpConst64F, OpSB, OpSP,
    		OpArgIntReg, OpArgFloatReg:
    		return true
    	}
    	return false
    }
    
    // nextGoodStatementIndex returns an index at i or later that is believed
    // to be a good place to start the statement for b.  This decision is
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 14 21:26:13 UTC 2023
    - 7.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/stackalloc.go

    	for _, name := range f.Names {
    		// Note: not "range f.NamedValues" above, because
    		// that would be nondeterministic.
    		for _, v := range f.NamedValues[*name] {
    			if v.Op == OpArgIntReg || v.Op == OpArgFloatReg {
    				aux := v.Aux.(*AuxNameOffset)
    				// Never let an arg be bound to a differently named thing.
    				if name.N != aux.Name || name.Off != aux.Offset {
    					if f.pass.debug > stackDebug {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 29 21:29:41 UTC 2024
    - 12.6K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssa/tighten.go

    	for _, b := range f.Blocks {
    		for _, v := range b.Values {
    			if v.Op.isLoweredGetClosurePtr() {
    				// Must stay in the entry block.
    				continue
    			}
    			switch v.Op {
    			case OpPhi, OpArg, OpArgIntReg, OpArgFloatReg, OpSelect0, OpSelect1, OpSelectN:
    				// Phis need to stay in their block.
    				// Arg must stay in the entry block.
    				// Tuple selectors must stay with the tuple generator.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 16 01:01:38 UTC 2023
    - 7.7K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/debug.go

    	// since the type we get from the ABI analyzer won't always match
    	// what the compiler uses when creating OpArg{Int,Float}Reg ops.
    	for _, v := range f.Entry.Values {
    		if v.Op == OpArgIntReg || v.Op == OpArgFloatReg {
    			aux := v.Aux.(*AuxNameOffset)
    			sl := LocalSlot{N: aux.Name, Type: v.Type, Off: aux.Offset}
    			// install slot in lookup table
    			idx, _ := sc.lookup(sl)
    			// add to f.NamedValues if not already present
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 58.4K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/expand_calls.go

    // arg register index.
    func ArgOpAndRegisterFor(r abi.RegIndex, abiConfig *abi.ABIConfig) (Op, int64) {
    	i := abiConfig.FloatIndexFor(r)
    	if i >= 0 { // float PR
    		return OpArgFloatReg, i
    	}
    	return OpArgIntReg, int64(r)
    }
    
    type selKey struct {
    	from          *Value // what is selected from
    	offsetOrIndex int64  // whatever is appropriate for the selector
    	size          int64
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 28 05:13:40 UTC 2023
    - 31.9K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/schedule.go

    				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).
    				// In particular, they need to come before regular OpArg operations because
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 08 15:53:17 UTC 2024
    - 16.4K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ssa/regalloc.go

    	}
    	if op == OpArgIntReg {
    		reg := v.Block.Func.Config.intParamRegs[v.AuxInt8()]
    		return regInfo{outputs: []outputInfo{{regs: 1 << uint(reg)}}}
    	}
    	if op == OpArgFloatReg {
    		reg := v.Block.Func.Config.floatParamRegs[v.AuxInt8()]
    		return regInfo{outputs: []outputInfo{{regs: 1 << uint(reg)}}}
    	}
    	if op.IsCall() {
    		if ac, ok := v.Aux.(*AuxCall); ok && ac.reg != nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Nov 21 17:49:56 UTC 2023
    - 87.2K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ppc64/ssa.go

    	case ssa.OpStoreReg:
    		storeOp := storeByType(v.Type)
    		p := s.Prog(storeOp)
    		p.From.Type = obj.TYPE_REG
    		p.From.Reg = v.Args[0].Reg()
    		ssagen.AddrAuto(&p.To, v)
    
    	case ssa.OpArgIntReg, ssa.OpArgFloatReg:
    		// The assembler needs to wrap the entry safepoint/stack growth code with spill/unspill
    		// The loop only runs once.
    		for _, a := range v.Block.Func.RegArgs {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 55.4K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/ssagen/ssa.go

    	// debuggers may attribute it to previous function in program.
    	firstPos := src.NoXPos
    	for _, v := range f.Entry.Values {
    		if v.Pos.IsStmt() == src.PosIsStmt && v.Op != ssa.OpArg && v.Op != ssa.OpArgIntReg && v.Op != ssa.OpArgFloatReg && v.Op != ssa.OpLoadReg && v.Op != ssa.OpStoreReg {
    			firstPos = v.Pos
    			v.Pos = firstPos.WithDefaultStmt()
    			break
    		}
    	}
    
    	// inlMarks has an entry for each Prog that implements an inline mark.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
Back to top