diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index a7b60afb7f547..f8ed75f189a77 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -3062,10 +3062,7 @@ bool X86FrameLowering::spillCalleeSavedRegisters( const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(Reg, VT); TII.storeRegToStackSlot(MBB, MI, Reg, true, I.getFrameIdx(), RC, TRI, - Register()); - --MI; - MI->setFlag(MachineInstr::FrameSetup); - ++MI; + Register(), MachineInstr::FrameSetup); } return true; diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 794aa921ca254..44db5b6865c42 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -4801,7 +4801,8 @@ void X86InstrInfo::storeRegToStackSlot( loadStoreTileReg(MBB, MI, Opc, SrcReg, FrameIdx, isKill); else addFrameReference(BuildMI(MBB, MI, DebugLoc(), get(Opc)), FrameIdx) - .addReg(SrcReg, getKillRegState(isKill)); + .addReg(SrcReg, getKillRegState(isKill)) + .setMIFlag(Flags); } void X86InstrInfo::loadRegFromStackSlot( @@ -4821,8 +4822,8 @@ void X86InstrInfo::loadRegFromStackSlot( if (isAMXOpcode(Opc)) loadStoreTileReg(MBB, MI, Opc, DestReg, FrameIdx); else - addFrameReference(BuildMI(MBB, MI, DebugLoc(), get(Opc), DestReg), - FrameIdx); + addFrameReference(BuildMI(MBB, MI, DebugLoc(), get(Opc), DestReg), FrameIdx) + .setMIFlag(Flags); } bool X86InstrInfo::analyzeCompare(const MachineInstr &MI, Register &SrcReg,