Should not add instructions to a BB after a return instruction. The machine instruction verifier doesn't like this, nor do I.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141856 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2011-10-13 07:42:32 +00:00
parent 326e491ce7
commit 82222c20be
2 changed files with 3 additions and 2 deletions

View File

@ -1414,11 +1414,12 @@ X86FrameLowering::adjustForSegmentedStacks(MachineFunction &MF) const {
if (!Is64Bit)
BuildMI(allocMBB, DL, TII.get(X86::ADD32ri), X86::ESP).addReg(X86::ESP)
.addImm(8);
BuildMI(allocMBB, DL, TII.get(X86::RET));
if (Is64Bit && IsNested)
BuildMI(allocMBB, DL, TII.get(X86::MOV64rr), X86::R10).addReg(X86::RAX);
BuildMI(allocMBB, DL, TII.get(X86::RET));
allocMBB->addSuccessor(&prologueMBB);
checkMBB->addSuccessor(allocMBB);
checkMBB->addSuccessor(&prologueMBB);

View File

@ -81,7 +81,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) {
; X64-NEXT: movabsq $0, %r10
; X64-NEXT: movabsq $0, %r11
; X64-NEXT: callq __morestack
; X64-NEXT: ret
; X64-NEXT: movq %rax, %r10
; X64-NEXT: ret
}