mirror of
https://github.com/RPCSX/llvm.git
synced 2025-05-13 10:56:01 +00:00
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:
parent
326e491ce7
commit
82222c20be
@ -1414,11 +1414,12 @@ X86FrameLowering::adjustForSegmentedStacks(MachineFunction &MF) const {
|
|||||||
if (!Is64Bit)
|
if (!Is64Bit)
|
||||||
BuildMI(allocMBB, DL, TII.get(X86::ADD32ri), X86::ESP).addReg(X86::ESP)
|
BuildMI(allocMBB, DL, TII.get(X86::ADD32ri), X86::ESP).addReg(X86::ESP)
|
||||||
.addImm(8);
|
.addImm(8);
|
||||||
BuildMI(allocMBB, DL, TII.get(X86::RET));
|
|
||||||
|
|
||||||
if (Is64Bit && IsNested)
|
if (Is64Bit && IsNested)
|
||||||
BuildMI(allocMBB, DL, TII.get(X86::MOV64rr), X86::R10).addReg(X86::RAX);
|
BuildMI(allocMBB, DL, TII.get(X86::MOV64rr), X86::R10).addReg(X86::RAX);
|
||||||
|
|
||||||
|
BuildMI(allocMBB, DL, TII.get(X86::RET));
|
||||||
|
|
||||||
allocMBB->addSuccessor(&prologueMBB);
|
allocMBB->addSuccessor(&prologueMBB);
|
||||||
checkMBB->addSuccessor(allocMBB);
|
checkMBB->addSuccessor(allocMBB);
|
||||||
checkMBB->addSuccessor(&prologueMBB);
|
checkMBB->addSuccessor(&prologueMBB);
|
||||||
|
@ -81,7 +81,7 @@ define i32 @test_nested(i32 * nest %closure, i32 %other) {
|
|||||||
; X64-NEXT: movabsq $0, %r10
|
; X64-NEXT: movabsq $0, %r10
|
||||||
; X64-NEXT: movabsq $0, %r11
|
; X64-NEXT: movabsq $0, %r11
|
||||||
; X64-NEXT: callq __morestack
|
; X64-NEXT: callq __morestack
|
||||||
; X64-NEXT: ret
|
|
||||||
; X64-NEXT: movq %rax, %r10
|
; X64-NEXT: movq %rax, %r10
|
||||||
|
; X64-NEXT: ret
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user