mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-25 05:25:53 +00:00
[ARM] Handle t2ADDri in ARMAsmPrinter::EmitUnwindingInstruction.
This fixes a bug in ARMAsmPrinter::EmitUnwindingInstruction where llvm_unreachable was reached because t2ADDri wasn't handled. Test case provided by Tim Northover. rdar://problem/23270609 http://reviews.llvm.org/D14518 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252557 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5ca8076fcc
commit
67f0f878cd
@ -1125,6 +1125,7 @@ void ARMAsmPrinter::EmitUnwindingInstruction(const MachineInstr *MI) {
|
||||
Offset = 0;
|
||||
break;
|
||||
case ARM::ADDri:
|
||||
case ARM::t2ADDri:
|
||||
Offset = -MI->getOperand(2).getImm();
|
||||
break;
|
||||
case ARM::SUBri:
|
||||
|
11
test/CodeGen/Thumb2/emit-unwinding.ll
Normal file
11
test/CodeGen/Thumb2/emit-unwinding.ll
Normal file
@ -0,0 +1,11 @@
|
||||
; RUN: llc -mtriple thumbv7em-apple-unknown-eabi-macho %s -o - -O0 | FileCheck %s
|
||||
|
||||
; CHECK: add.w r11, sp, #{{[1-9]+}}
|
||||
|
||||
define void @foo1() {
|
||||
call void asm sideeffect "", "~{r4}"()
|
||||
call void @foo2()
|
||||
ret void
|
||||
}
|
||||
|
||||
declare void @foo2()
|
Loading…
Reference in New Issue
Block a user