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