diff options
Diffstat (limited to 'src/cmd/compile/internal/ssagen/pgen.go')
-rw-r--r-- | src/cmd/compile/internal/ssagen/pgen.go | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/cmd/compile/internal/ssagen/pgen.go b/src/cmd/compile/internal/ssagen/pgen.go index 182f8408cf..b675d1c876 100644 --- a/src/cmd/compile/internal/ssagen/pgen.go +++ b/src/cmd/compile/internal/ssagen/pgen.go @@ -15,7 +15,6 @@ import ( "cmd/compile/internal/ir" "cmd/compile/internal/objw" "cmd/compile/internal/ssa" - "cmd/compile/internal/typecheck" "cmd/compile/internal/types" "cmd/internal/obj" "cmd/internal/objabi" @@ -90,7 +89,6 @@ func (s *ssafn) AllocFrame(f *ssa.Func) { } } - scratchUsed := false for _, b := range f.Blocks { for _, v := range b.Values { if n, ok := v.Aux.(*ir.Name); ok { @@ -104,17 +102,9 @@ func (s *ssafn) AllocFrame(f *ssa.Func) { n.SetUsed(true) } } - if !scratchUsed { - scratchUsed = v.Op.UsesScratch() - } - } } - if f.Config.NeedsFpScratch && scratchUsed { - s.scratchFpMem = typecheck.TempAt(src.NoXPos, s.curfn, types.Types[types.TUINT64]) - } - sort.Sort(byStackVar(fn.Dcl)) // Reassign stack offsets of the locals that are used. @@ -148,7 +138,7 @@ func (s *ssafn) AllocFrame(f *ssa.Func) { } else { lastHasPtr = false } - if Arch.LinkArch.InFamily(sys.MIPS, sys.MIPS64, sys.ARM, sys.ARM64, sys.PPC64, sys.S390X) { + if Arch.LinkArch.InFamily(sys.ARM, sys.ARM64, sys.PPC64) { s.stksize = types.Rnd(s.stksize, int64(types.PtrSize)) } n.SetFrameOffset(-s.stksize) @@ -213,8 +203,7 @@ func StackOffset(slot ssa.LocalSlot) int32 { if base.Ctxt.FixedFrameSize() == 0 { off -= int64(types.PtrSize) } - if objabi.Framepointer_enabled || objabi.GOARCH == "arm64" { - // There is a word space for FP on ARM64 even if the frame pointer is disabled + if objabi.Framepointer_enabled { off -= int64(types.PtrSize) } case ir.PPARAM, ir.PPARAMOUT: |