1 ; RUN: llc < %s -mtriple=arm-linux-gnueabi | FileCheck %s
3 ; CHECK: .globl test
5 ; CHECK: .globl foo1
6 ; CHECK: foo1 = bar
8 ; CHECK: .globl foo2
9 ; CHECK: foo2 = bar
11 ; CHECK: .weak bar_f
12 ; CHECK: bar_f = foo_f
14 ; CHECK: bar_i = bar
16 ; CHECK: .globl A
17 ; CHECK: A = bar
19 @bar = global i32 42
20 @foo1 = alias i32* @bar
21 @foo2 = alias i32* @bar
23 %FunTy = type i32()
25 define i32 @foo_f() {
26 ret i32 0
27 }
28 @bar_f = weak alias %FunTy* @foo_f
30 @bar_i = internal alias i32* @bar
32 @A = alias bitcast (i32* @bar to i64*)
34 define i32 @test() {
35 entry:
36 %tmp = load i32* @foo1
37 %tmp1 = load i32* @foo2
38 %tmp0 = load i32* @bar_i
39 %tmp2 = call i32 @foo_f()
40 %tmp3 = add i32 %tmp, %tmp2
41 %tmp4 = call %FunTy* @bar_f()
42 %tmp5 = add i32 %tmp3, %tmp4
43 %tmp6 = add i32 %tmp1, %tmp5
44 %tmp7 = add i32 %tmp6, %tmp0
45 ret i32 %tmp7
46 }