diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index f320041b2de63d..5ee7c87a42b9bd 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -705,7 +705,6 @@ void X86FrameLowering::emitStackProbeInlineGenericLoop( .setMIFlag(MachineInstr::FrameSetup); testMBB->addSuccessor(testMBB); testMBB->addSuccessor(tailMBB); - testMBB->addLiveIn(FinalStackPtr); // BB management tailMBB->splice(tailMBB->end(), &MBB, MBBI, MBB.end()); @@ -719,6 +718,10 @@ void X86FrameLowering::emitStackProbeInlineGenericLoop( .addReg(FinalStackPtr) .setMIFlag(MachineInstr::FrameSetup); } + + // Update Live In information + recomputeLiveIns(*testMBB); + recomputeLiveIns(*tailMBB); } void X86FrameLowering::emitStackProbeInlineWindowsCoreCLR64(