mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
104e73dd34
COFF/PE, so the relocation model is never static. Loosen the assertion accordingly. The relocation can still be emitted properly, as it will be converted to an IMAGE_REL_ARM_ADDR32 which will be resolved by the loader taking the base relocation into account. This is necessary to permit the emission of long calls which can be controlled via the -mlong-calls option in the driver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210399 91177308-0d34-0410-b5e6-96231b3b80d8
19 lines
393 B
LLVM
19 lines
393 B
LLVM
; RUN: llc -mtriple=thumbv7-windows -mcpu=cortex-a9 -arm-long-calls -o - %s \
|
|
; RUN: | FileCheck %s
|
|
|
|
declare arm_aapcs_vfpcc void @callee()
|
|
|
|
define arm_aapcs_vfpcc void @caller() nounwind {
|
|
entry:
|
|
tail call void @callee()
|
|
ret void
|
|
}
|
|
|
|
; CHECK-LABEL: caller
|
|
; CHECK: ldr [[REG:r[0-9]+]], [[CPI:.LCPI[_0-9]+]]
|
|
; CHECK: bx [[REG]]
|
|
; CHECK: .align 2
|
|
; CHECK: [[CPI]]:
|
|
; CHECK: .long callee
|
|
|