mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 16:17:17 +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:
@@ -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
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user