summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/thumb1-varalloc.ll
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-05-10 19:17:47 +0000
committerTim Northover <tnorthover@apple.com>2016-05-10 19:17:47 +0000
commitb5ece527a15dd3e4da40edffc0360831fe473a53 (patch)
tree12016866d3c217eb3f441e19401b7d0b1998eb0c /llvm/test/CodeGen/ARM/thumb1-varalloc.ll
parentecf7d15d49de4f6810c3215c3df520983746a96c (diff)
downloadbcm5719-llvm-b5ece527a15dd3e4da40edffc0360831fe473a53.tar.gz
bcm5719-llvm-b5ece527a15dd3e4da40edffc0360831fe473a53.zip
ARM: stop emitting blx instructions for most calls on MachO.
I'm really not sure why we were in the first place, it's the linker's job to convert between BL/BLX as necessary. Even worse, using BLX left Thumb calls that could be locally resolved completely unencodable since all offsets to BLX are multiples of 4. rdar://26182344 llvm-svn: 269101
Diffstat (limited to 'llvm/test/CodeGen/ARM/thumb1-varalloc.ll')
-rw-r--r--llvm/test/CodeGen/ARM/thumb1-varalloc.ll12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/ARM/thumb1-varalloc.ll b/llvm/test/CodeGen/ARM/thumb1-varalloc.ll
index 0637be03d56..3787c4282b2 100644
--- a/llvm/test/CodeGen/ARM/thumb1-varalloc.ll
+++ b/llvm/test/CodeGen/ARM/thumb1-varalloc.ll
@@ -52,7 +52,7 @@ define void @test_simple_var() {
; CHECK: mov r0, sp
; CHECK-NOT: adds r0
-; CHECK: blx
+; CHECK: bl
call void @take_ptr(i8* %addr8)
ret void
}
@@ -67,12 +67,12 @@ define void @test_local_var_addr_aligned() {
%addr2 = bitcast i32* %addr2.32 to i8*
; CHECK: add r0, sp, #{{[0-9]+}}
-; CHECK: blx
+; CHECK: bl
call void @take_ptr(i8* %addr1)
; CHECK: mov r0, sp
; CHECK-NOT: add r0
-; CHECK: blx
+; CHECK: bl
call void @take_ptr(i8* %addr2)
ret void
@@ -87,7 +87,7 @@ define void @test_local_var_big_offset() {
; CHECK: add [[RTMP:r[0-9]+]], sp, #1020
; CHECK: adds [[RTMP]], #8
-; CHECK: blx
+; CHECK: bl
call void @take_ptr(i8* %addr1)
ret void
@@ -100,7 +100,7 @@ define void @test_local_var_offset_1020() {
%addr2 = alloca i8, i32 1020
; CHECK: add r0, sp, #1020
-; CHECK-NEXT: blx
+; CHECK-NEXT: bl
call void @take_ptr(i8* %addr1)
ret void
@@ -116,7 +116,7 @@ define void @test_local_var_offset_1268() {
; CHECK: add r0, sp, #1020
; CHECK: adds r0, #248
-; CHECK-NEXT: blx
+; CHECK-NEXT: bl
call void @take_ptr(i8* %addr1)
ret void
OpenPOWER on IntegriCloud