1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test/CodeGen/ARM/local-call.ll
Tim Northover 3173845201 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
2016-05-10 19:17:47 +00:00

20 lines
459 B
LLVM

; RUN: llc -mtriple=thumbv7-apple-ios -filetype=obj %s -o %t
; RUN: llvm-objdump -macho -d %t | FileCheck %s
; This function just messes up the offsets enough to make the libcall in
; test_local_call unencodable with a blx.
define void @thing() {
ret void
}
define i64 @__udivdi3(i64 %a, i64 %b) {
ret i64 %b
}
define i64 @test_local_call(i64 %a, i64 %b) {
; CHECK-LABEL: test_local_call:
; CHECK: bl ___udivdi3
%res = udiv i64 %a, %b
ret i64 %res
}