• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llvm-as < %s | llvm-dis | FileCheck %s
2
3; Tests parsing for the dso_local keyword as well as the serialization/
4; deserialization of the dso_local value on GlobalValues.
5
6@local_global = dso_local global i32 0
7; CHECK: @local_global = dso_local global i32 0
8
9@weak_local_global = weak dso_local global i32 0
10; CHECK: @weak_local_global = weak dso_local global i32 0
11
12@external_local_global = external dso_local global i32
13; CHECK: @external_local_global = external dso_local global i32
14
15@default_local_global = dso_local default global i32 0
16; CHECK: @default_local_global = dso_local global i32 0
17
18@hidden_local_global = hidden global i32 0
19; CHECK: @hidden_local_global = hidden global i32 0
20
21@protected_local_global = protected global i32 0
22; CHECK: @protected_local_global = protected global i32 0
23
24@local_alias = dso_local alias i32, i32* @local_global
25; CHECK-DAG: @local_alias = dso_local alias i32, i32* @local_global
26
27@preemptable_alias = dso_preemptable alias i32, i32* @hidden_local_global
28; CHECK-DAG: @preemptable_alias = alias i32, i32* @hidden_local_global
29
30@preemptable_ifunc = dso_preemptable ifunc void (), i8* ()* @ifunc_resolver
31; CHECK-DAG: @preemptable_ifunc = ifunc void (), i8* ()* @ifunc_resolver
32declare dso_local default void @default_local()
33; CHECK: declare dso_local void @default_local()
34
35declare hidden void @hidden_local()
36; CHECK: declare hidden void @hidden_local()
37
38define protected void @protected_local() {
39; CHECK: define protected void @protected_local()
40entry:
41  ret void
42}
43
44define i8* @ifunc_resolver() {
45entry:
46  ret i8* null
47}
48