- Sort Score
- Result 10 results
- Languages All
Results 1 - 10 of 11 for OpArgFloatReg (0.25 sec)
-
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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) -
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)