src/cmd/compile/internal/amd64/galign.go | 1 + src/cmd/compile/internal/arm/galign.go | 1 + src/cmd/compile/internal/arm64/galign.go | 1 + src/cmd/compile/internal/gc/go.go | 7 ++++--- src/cmd/compile/internal/gc/ssa.go | 2 +- src/cmd/compile/internal/mips/galign.go | 1 + src/cmd/compile/internal/mips64/galign.go | 1 + src/cmd/compile/internal/ppc64/galign.go | 3 ++- src/cmd/compile/internal/s390x/galign.go | 1 + src/cmd/compile/internal/wasm/ssa.go | 1 + src/cmd/compile/internal/x86/galign.go | 1 + diff --git a/src/cmd/compile/internal/amd64/galign.go b/src/cmd/compile/internal/amd64/galign.go index 58c469995fed539b5656692756c637ee9fe5798c..f6bb961c29e0e1628f63689954d57332f55c0557 100644 --- a/src/cmd/compile/internal/amd64/galign.go +++ b/src/cmd/compile/internal/amd64/galign.go @@ -24,6 +24,7 @@ arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = ssaMarkMoves arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/arm/galign.go b/src/cmd/compile/internal/arm/galign.go index 241edaf3a0b9aa27e85b951433ad01c5ed832dfc..8469dbdd73b1ccc79df6bf5d9cd3a007093b2507 100644 --- a/src/cmd/compile/internal/arm/galign.go +++ b/src/cmd/compile/internal/arm/galign.go @@ -19,6 +19,7 @@ arch.SoftFloat = objabi.GOARM == 5 arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = func(s *gc.SSAGenState, b *ssa.Block) {} arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/arm64/galign.go b/src/cmd/compile/internal/arm64/galign.go index a64be8e7a6237c54a5cf370755dc98e19723983d..f01fe8a5718d4969436e8b0f4380cc6c84f3b9f5 100644 --- a/src/cmd/compile/internal/arm64/galign.go +++ b/src/cmd/compile/internal/arm64/galign.go @@ -19,6 +19,7 @@ arch.PadFrame = padframe arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = func(s *gc.SSAGenState, b *ssa.Block) {} arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go index 376637ba9adcabeb21e0528e14f32a09f1587908..40d01e2d398636f7fac398925b3ea1a1ff7be10d 100644 --- a/src/cmd/compile/internal/gc/go.go +++ b/src/cmd/compile/internal/gc/go.go @@ -255,9 +255,10 @@ MAXWIDTH int64 Use387 bool // should 386 backend use 387 FP instructions instead of sse2. SoftFloat bool - PadFrame func(int64) int64 - ZeroRange func(*Progs, *obj.Prog, int64, int64, *uint32) *obj.Prog - Ginsnop func(*Progs) *obj.Prog + PadFrame func(int64) int64 + ZeroRange func(*Progs, *obj.Prog, int64, int64, *uint32) *obj.Prog + Ginsnop func(*Progs) *obj.Prog + Ginsnopdefer func(*Progs) *obj.Prog // special ginsnop for deferreturn // SSAMarkMoves marks any MOVXconst ops that need to avoid clobbering flags. SSAMarkMoves func(*SSAGenState, *ssa.Block) diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index e20137669aaac831cc8b9e8eba1781e985dbb68e..061574dc8aa2f865193ffaa317fcc6669ae2ea67 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -5597,7 +5597,7 @@ // To avoid that being an unrelated instruction, // insert an actual hardware NOP that will have the right line number. // This is different from obj.ANOP, which is a virtual no-op // that doesn't make it into the instruction stream. - thearch.Ginsnop(s.pp) + thearch.Ginsnopdefer(s.pp) } if sym, ok := v.Aux.(*obj.LSym); ok { diff --git a/src/cmd/compile/internal/mips/galign.go b/src/cmd/compile/internal/mips/galign.go index f207a17bbf08e71823eea68c8cdf36a8351ae090..596dbd7fa0cddbd4248637dbacc1627e7d0b6395 100644 --- a/src/cmd/compile/internal/mips/galign.go +++ b/src/cmd/compile/internal/mips/galign.go @@ -22,6 +22,7 @@ arch.SoftFloat = (objabi.GOMIPS == "softfloat") arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = func(s *gc.SSAGenState, b *ssa.Block) {} arch.SSAGenValue = ssaGenValue arch.SSAGenBlock = ssaGenBlock diff --git a/src/cmd/compile/internal/mips64/galign.go b/src/cmd/compile/internal/mips64/galign.go index 5252719e8eafd502d556be352512d967354901e8..07e9f98be5b6d48b95ce56c900115872ed5b14f5 100644 --- a/src/cmd/compile/internal/mips64/galign.go +++ b/src/cmd/compile/internal/mips64/galign.go @@ -22,6 +22,7 @@ arch.SoftFloat = objabi.GOMIPS64 == "softfloat" arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = func(s *gc.SSAGenState, b *ssa.Block) {} arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/ppc64/galign.go b/src/cmd/compile/internal/ppc64/galign.go index da971d864dbe794307f92a69c69fd43ad21848ec..8ad3084410cf17a70d6b08a704cf3f46f85579e0 100644 --- a/src/cmd/compile/internal/ppc64/galign.go +++ b/src/cmd/compile/internal/ppc64/galign.go @@ -20,7 +20,8 @@ arch.MAXWIDTH = 1 << 60 arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto - arch.Ginsnop = ginsnop2 + arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop2 arch.SSAMarkMoves = ssaMarkMoves arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/s390x/galign.go b/src/cmd/compile/internal/s390x/galign.go index 3f624692bb5a3c0f06e7addcfd4179e0e7f3aa42..26359abe66b11768c1cb2983ad0bad73f2329947 100644 --- a/src/cmd/compile/internal/s390x/galign.go +++ b/src/cmd/compile/internal/s390x/galign.go @@ -17,6 +17,7 @@ arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = ssaMarkMoves arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/wasm/ssa.go b/src/cmd/compile/internal/wasm/ssa.go index 6e6dc557b4937a17356b8a195141ff739128fa50..897d6146c5b16b782273c43c1ee13f6a938bfe46 100644 --- a/src/cmd/compile/internal/wasm/ssa.go +++ b/src/cmd/compile/internal/wasm/ssa.go @@ -20,6 +20,7 @@ arch.ZeroRange = zeroRange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = ssaMarkMoves arch.SSAGenValue = ssaGenValue diff --git a/src/cmd/compile/internal/x86/galign.go b/src/cmd/compile/internal/x86/galign.go index 56cc6c637d77684951bed0249ed85a7fd25a96c6..7f53ee3731cab97b54f04472375a5f81ff99679d 100644 --- a/src/cmd/compile/internal/x86/galign.go +++ b/src/cmd/compile/internal/x86/galign.go @@ -32,6 +32,7 @@ arch.ZeroRange = zerorange arch.ZeroAuto = zeroAuto arch.Ginsnop = ginsnop + arch.Ginsnopdefer = ginsnop arch.SSAMarkMoves = ssaMarkMoves }