summaryrefslogtreecommitdiff
path: root/test/CodeGen/Thumb
diff options
context:
space:
mode:
authorLogan Chien <tzuhsiang.chien@gmail.com>2012-09-01 15:06:36 +0000
committerLogan Chien <tzuhsiang.chien@gmail.com>2012-09-01 15:06:36 +0000
commit8fccd013d87c4b12edb4c9982fd9f3517917d2f7 (patch)
tree1439ca4d93abfe7aa3ba5edb1123b88bc0624220 /test/CodeGen/Thumb
parent4b6fbf25600a94dc41ba96b174045e50b85862cf (diff)
downloadllvm-8fccd013d87c4b12edb4c9982fd9f3517917d2f7.tar.gz
llvm-8fccd013d87c4b12edb4c9982fd9f3517917d2f7.tar.bz2
llvm-8fccd013d87c4b12edb4c9982fd9f3517917d2f7.tar.xz
Fix Thumb2 fixup kind in the integrated-as.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/Thumb')
-rw-r--r--test/CodeGen/Thumb/thumb_jump24_fixup.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGen/Thumb/thumb_jump24_fixup.ll b/test/CodeGen/Thumb/thumb_jump24_fixup.ll
new file mode 100644
index 0000000000..e6a6b25ca1
--- /dev/null
+++ b/test/CodeGen/Thumb/thumb_jump24_fixup.ll
@@ -0,0 +1,23 @@
+; RUN: llc -mtriple thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -march=thumb -mattr=thumb2 -filetype=obj -o - < %s | llvm-objdump -r - | FileCheck %s
+
+target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:32-n32-S64"
+target triple = "thumbv7-none-linux-gnueabi"
+
+define i32 @test_fixup_t2_uncondbranch() {
+b0:
+ invoke void @__cxa_throw(i8* null, i8* null, i8* null) noreturn
+ to label %unreachable unwind label %lpad
+
+; CHECK: {{[0-9]+}} R_ARM_THM_JUMP24 __cxa_throw
+
+lpad:
+ %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) cleanup
+ ret i32 0
+
+unreachable:
+ unreachable
+}
+
+declare i32 @__gxx_personality_v0(...)
+
+declare void @__cxa_throw(i8*, i8*, i8*)