llvm.org GIT mirror llvm / 73dd8bb
Emit ARM EHABI unwinding instructions for 3 more Thumb instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148473 91177308-0d34-0410-b5e6-96231b3b80d8 Evgeniy Stepanov 8 years ago
2 changed file(s) with 18 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
11061106 break;
11071107 case ARM::STR_PRE_IMM:
11081108 case ARM::STR_PRE_REG:
1109 case ARM::t2STR_PRE:
11091110 assert(MI->getOperand(2).getReg() == ARM::SP &&
11101111 "Only stack pointer as a source reg is supported");
11111112 RegList.push_back(SrcReg);
11211122 MI->dump();
11221123 assert(0 && "Unsupported opcode for unwinding information");
11231124 case ARM::MOVr:
1125 case ARM::tMOVr:
11241126 Offset = 0;
11251127 break;
11261128 case ARM::ADDri:
11271129 Offset = -MI->getOperand(2).getImm();
11281130 break;
11291131 case ARM::SUBri:
1132 case ARM::t2SUBri:
11301133 Offset = MI->getOperand(2).getImm();
11311134 break;
11321135 case ARM::tSUBspi:
0 ; Test that the EHABI unwind instruction generator does not encounter any
1 ; unfamiliar instructions.
2 ; RUN: llc < %s -mtriple=thumbv7 -arm-enable-ehabi -disable-fp-elim
3 ; RUN: llc < %s -mtriple=thumbv7 -arm-enable-ehabi
4
5 define void @_Z1fv() nounwind {
6 entry:
7 ret void
8 }
9
10 define void @_Z1gv() nounwind {
11 entry:
12 call void @_Z1fv()
13 ret void
14 }