- Sort Score
- Result 10 results
- Languages All
Results 11 - 19 of 19 for opcodeTable (0.25 sec)
-
src/cmd/compile/internal/ssa/check.go
} for _, v := range b.Values { // Check to make sure argument count makes sense (argLen of -1 indicates // variable length args) nArgs := opcodeTable[v.Op].argLen if nArgs != -1 && int32(len(v.Args)) != nArgs { f.Fatalf("value %s has %d args, expected %d", v.LongString(), len(v.Args), nArgs) } // Check to make sure aux values make sense.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 09 16:41:23 UTC 2024 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/flagalloc.go
v := b.Values[j] if v.Op == OpInvalid { continue } b.Values[i] = v i++ } b.truncateValues(i) } } func (v *Value) clobbersFlags() bool { if opcodeTable[v.Op].clobberFlags { return true } if v.Type.IsTuple() && (v.Type.FieldType(0).IsFlags() || v.Type.FieldType(1).IsFlags()) { // This case handles the possibility where a flag value is generated but never used.
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 6.7K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/fuse.go
// There may be false positives. func isEmpty(b *Block) bool { for _, v := range b.Values { if v.Uses > 0 || v.Op.IsCall() || v.Op.HasSideEffects() || v.Type.IsVoid() || opcodeTable[v.Op].nilCheck { return false } } return true } // fuseBlockPlain handles a run of blocks with length >= 2, // whose interior has single predecessors and successors,
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Oct 31 20:45:54 UTC 2023 - 9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/cse.go
// partition can grow in the loop. By not using a range loop here, // we process new additions as they arrive, avoiding O(n^2) behavior. for i := 0; i < len(partition); i++ { e := partition[i] if opcodeTable[e[0].Op].commutative { // Order the first two args before comparison. for _, v := range e { if valueEqClass[v.Args[0].ID] > valueEqClass[v.Args[1].ID] { v.Args[0], v.Args[1] = v.Args[1], v.Args[0]
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 31 21:41:20 UTC 2022 - 9.6K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/config.go
c.useSSE = false } } if ctxt.Flag_shared { // LoweredWB is secretly a CALL and CALLs on 386 in // shared mode get rewritten by obj6.go to go through // the GOT, which clobbers BX. opcodeTable[Op386LoweredWB].reg.clobbers |= 1 << 3 // BX } // Create the GC register map index. // TODO: This is only used for debug printing. Maybe export config.registers? gcRegMapSize := int16(0)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Tue Apr 02 16:11:47 UTC 2024 - 12.9K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/branchelim.go
// or anything else with side-effects for _, v := range b.Values { if v.Op == OpPhi || isDivMod(v.Op) || isPtrArithmetic(v.Op) || v.Type.IsMemory() || v.MemoryArg() != nil || opcodeTable[v.Op].hasSideEffects { return false } } return true } func isDivMod(op Op) bool { switch op { case OpDiv8, OpDiv8u, OpDiv16, OpDiv16u,
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/debug.go
state.currentState.slots[slot] = loc } // Handle any register clobbering. Call operations, for example, // clobber all registers even though they don't explicitly write to // them. clobbers := uint64(opcodeTable[v.Op].reg.clobbers) for { if clobbers == 0 { break } reg := uint8(bits.TrailingZeros64(clobbers)) clobbers &^= 1 << reg for _, slot := range locs.registers[reg] {
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/rewrite.go
return false } baseAndOffset := func(ptr *Value) (base *Value, offset int64) { base, offset = ptr, 0 for base.Op == OpOffPtr { offset += base.AuxInt base = base.Args[0] } if opcodeTable[base.Op].nilCheck { base = base.Args[0] } return base, offset } p1, off1 := baseAndOffset(p1) p2, off2 := baseAndOffset(p2) if isSamePtr(p1, p2) { return !overlap(off1, n1, off2, n2) }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Jun 07 19:02:52 UTC 2024 - 64.2K bytes - Viewed (0) -
src/cmd/compile/internal/ssa/opGen.go
func (o Op) Asm() obj.As { return opcodeTable[o].asm } func (o Op) Scale() int16 { return int16(opcodeTable[o].scale) } func (o Op) String() string { return opcodeTable[o].name } func (o Op) SymEffect() SymEffect { return opcodeTable[o].symEffect } func (o Op) IsCall() bool { return opcodeTable[o].call } func (o Op) IsTailCall() bool { return opcodeTable[o].tailCall }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu May 23 15:49:20 UTC 2024 - 1M bytes - Viewed (0)