1; RUN: llc < %s -mtriple=i686-pc-linux-gnu -asm-verbose=false | FileCheck %s
2
3@bar = global i32 42
4
5; CHECK-DAG: .globl	foo1
6@foo1 = alias i32* @bar
7
8; CHECK-DAG: .globl	foo2
9@foo2 = alias i32* @bar
10
11%FunTy = type i32()
12
13define i32 @foo_f() {
14  ret i32 0
15}
16; CHECK-DAG: .weak	bar_f
17@bar_f = alias weak %FunTy* @foo_f
18
19@bar_l = alias linkonce_odr i32* @bar
20; CHECK-DAG: .weak	bar_l
21
22@bar_i = alias internal i32* @bar
23
24; CHECK-DAG: .globl	A
25@A = alias bitcast (i32* @bar to i64*)
26
27; CHECK-DAG: .globl	bar_h
28; CHECK-DAG: .hidden	bar_h
29@bar_h = hidden alias i32* @bar
30
31; CHECK-DAG: .globl	bar_p
32; CHECK-DAG: .protected	bar_p
33@bar_p = protected alias i32* @bar
34
35; CHECK-DAG: .globl	test
36define i32 @test() {
37entry:
38   %tmp = load i32* @foo1
39   %tmp1 = load i32* @foo2
40   %tmp0 = load i32* @bar_i
41   %tmp2 = call i32 @foo_f()
42   %tmp3 = add i32 %tmp, %tmp2
43   %tmp4 = call %FunTy* @bar_f()
44   %tmp5 = add i32 %tmp3, %tmp4
45   %tmp6 = add i32 %tmp1, %tmp5
46   %tmp7 = add i32 %tmp6, %tmp0
47   ret i32 %tmp7
48}
49