diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-05-10 19:17:47 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-05-10 19:17:47 +0000 |
| commit | b5ece527a15dd3e4da40edffc0360831fe473a53 (patch) | |
| tree | 12016866d3c217eb3f441e19401b7d0b1998eb0c /llvm/test/CodeGen/ARM/thumb1-varalloc.ll | |
| parent | ecf7d15d49de4f6810c3215c3df520983746a96c (diff) | |
| download | bcm5719-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.ll | 12 |
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 |

