blob: a8c95e9fd0c3d6d2b5f97f78e38ef6a8b441267d [file] [log] [blame]
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +00001; RUN: llvm-as < %s | llvm-dis > %t1.ll
2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
Rafael Espindolacde25b42013-04-22 14:58:02 +00005@llvm.used = appending global [1 x i8*] [i8* bitcast (i32* @foo1 to i8*)], section "llvm.metadata"
6
Rafael Espindola38048cd2014-03-12 20:15:49 +00007@bar = global i32 0
David Blaikie21f77df2015-09-11 03:22:04 +00008@foo1 = alias i32, i32* @bar
9@foo2 = alias i32, i32* @bar
10@foo3 = alias i32, i32* @foo2
11@foo4 = unnamed_addr alias i32, i32* @foo2
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000012
Bob Wilson7418e1f2014-06-12 21:37:30 +000013; Make sure the verifier does not complain about references to a global
14; declaration from an initializer.
15@decl = external global i32
16@ptr = global i32* @decl
David Blaikie21f77df2015-09-11 03:22:04 +000017@ptr_a = alias i32*, i32** @ptr
Bob Wilson7418e1f2014-06-12 21:37:30 +000018
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000019%FunTy = type i32()
20
Rafael Espindola38048cd2014-03-12 20:15:49 +000021define i32 @foo_f() {
22 ret i32 0
23}
David Blaikie21f77df2015-09-11 03:22:04 +000024@bar_f = weak_odr alias %FunTy, %FunTy* @foo_f
25@bar_ff = alias i32(), i32()* @bar_f
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000026
David Blaikie21f77df2015-09-11 03:22:04 +000027@bar_i = internal alias i32, i32* @bar
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000028
David Blaikie21f77df2015-09-11 03:22:04 +000029@A = alias i64, bitcast (i32* @bar to i64*)
Anton Korobeynikova80e1182007-04-28 13:45:00 +000030
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000031define i32 @test() {
32entry:
David Blaikie7c9c6ed2015-02-27 21:17:42 +000033 %tmp = load i32, i32* @foo1
34 %tmp1 = load i32, i32* @foo2
35 %tmp0 = load i32, i32* @bar_i
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000036 %tmp2 = call i32 @foo_f()
37 %tmp3 = add i32 %tmp, %tmp2
David Blaikie32b845d2015-04-16 23:24:18 +000038 %tmp4 = call %FunTy @bar_f()
Anton Korobeynikov8b0a8c82007-04-25 14:27:10 +000039 %tmp5 = add i32 %tmp3, %tmp4
40 %tmp6 = add i32 %tmp1, %tmp5
41 %tmp7 = add i32 %tmp6, %tmp0
42 ret i32 %tmp7
43}