diff options
Diffstat (limited to 'test/CodeGen/ARM/call.ll')
-rw-r--r-- | test/CodeGen/ARM/call.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/call.ll b/test/CodeGen/ARM/call.ll new file mode 100644 index 0000000000000..6b196653e05ac --- /dev/null +++ b/test/CodeGen/ARM/call.ll @@ -0,0 +1,19 @@ +; RUN: llvm-as < %s | llc -march=arm | grep {mov lr, pc} +; RUN: llvm-as < %s | llc -march=arm -mattr=+v5t | grep blx +; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnueabi\ +; RUN: -relocation-model=pic | grep {PLT} + +@t = weak global i32 ()* null ; <i32 ()**> [#uses=1] + +declare void @g(i32, i32, i32, i32) + +define void @f() { + call void @g( i32 1, i32 2, i32 3, i32 4 ) + ret void +} + +define void @g.upgrd.1() { + %tmp = load i32 ()** @t ; <i32 ()*> [#uses=1] + %tmp.upgrd.2 = tail call i32 %tmp( ) ; <i32> [#uses=0] + ret void +} |