2013-08-22 20:08:04 +08:00
|
|
|
; Check the function call in PIC relocation model.
|
|
|
|
|
|
|
|
; If the relocation model is PIC, then the "bl" instruction for the function
|
|
|
|
; call to the external function should come with PLT fixup type.
|
|
|
|
|
|
|
|
; RUN: llc < %s -mtriple=armv7-unknown-linux-gnueabi \
|
2013-08-27 04:22:08 +08:00
|
|
|
; RUN: -relocation-model=pic -fast-isel -verify-machineinstrs \
|
2013-08-22 20:08:04 +08:00
|
|
|
; RUN: | FileCheck %s
|
|
|
|
|
|
|
|
define void @test() {
|
|
|
|
entry:
|
|
|
|
|
|
|
|
%0 = call i32 @get()
|
2016-06-17 00:09:53 +08:00
|
|
|
; CHECK: bl get
|
2013-08-22 20:08:04 +08:00
|
|
|
|
|
|
|
call void @put(i32 %0)
|
2016-06-17 00:09:53 +08:00
|
|
|
; CHECK: bl put
|
2013-08-22 20:08:04 +08:00
|
|
|
|
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
|
|
|
declare i32 @get()
|
|
|
|
declare void @put(i32)
|