blob: 4252aee61920ab6deda7dc97b553321d6ded65b5 [file] [log] [blame]
Rafael Espindola130901d2014-10-31 05:54:15 +00001; RUN: llvm-link %s %p/Inputs/visibility.ll -S | FileCheck %s
2; RUN: llvm-link %p/Inputs/visibility.ll %s -S | FileCheck %s
Rafael Espindola3ed88152012-01-05 23:02:01 +00003
Rafael Espindola130901d2014-10-31 05:54:15 +00004; The values in this file are strong, the ones in Inputs/visibility.ll are weak,
Rafael Espindola3ed88152012-01-05 23:02:01 +00005; but we should still get the visibility from them.
6
Rafael Espindola0a6665e2014-11-02 13:28:57 +00007
8$c1 = comdat any
9
Rafael Espindola3ed88152012-01-05 23:02:01 +000010; Variables
Rafael Espindola0a6665e2014-11-02 13:28:57 +000011; CHECK-DAG: @v1 = hidden global i32 0
Rafael Espindola3ed88152012-01-05 23:02:01 +000012@v1 = global i32 0
13
Rafael Espindola0a6665e2014-11-02 13:28:57 +000014; CHECK-DAG: @v2 = protected global i32 0
Rafael Espindola3ed88152012-01-05 23:02:01 +000015@v2 = global i32 0
16
Rafael Espindola0a6665e2014-11-02 13:28:57 +000017; CHECK-DAG: @v3 = hidden global i32 0
Rafael Espindola3ed88152012-01-05 23:02:01 +000018@v3 = protected global i32 0
19
Rafael Espindolaf907a262015-01-06 22:55:16 +000020; CHECK-DAG: @v4 = hidden global i32 1, comdat($c1)
21@v4 = global i32 1, comdat($c1)
Rafael Espindola3ed88152012-01-05 23:02:01 +000022
23; Aliases
David Blaikie21f77df2015-09-11 03:22:04 +000024; CHECK: @a1 = hidden alias i32, i32* @v1
25@a1 = alias i32, i32* @v1
Rafael Espindola3ed88152012-01-05 23:02:01 +000026
David Blaikie21f77df2015-09-11 03:22:04 +000027; CHECK: @a2 = protected alias i32, i32* @v2
28@a2 = alias i32, i32* @v2
Rafael Espindola3ed88152012-01-05 23:02:01 +000029
David Blaikie21f77df2015-09-11 03:22:04 +000030; CHECK: @a3 = hidden alias i32, i32* @v3
31@a3 = protected alias i32, i32* @v3
Rafael Espindola3ed88152012-01-05 23:02:01 +000032
33
34; Functions
35; CHECK: define hidden void @f1()
36define void @f1() {
37entry:
38 ret void
39}
40
41; CHECK: define protected void @f2()
42define void @f2() {
43entry:
44 ret void
45}
46
47; CHECK: define hidden void @f3()
48define protected void @f3() {
49entry:
50 ret void
51}