1*9880d681SAndroid Build Coastguard Worker; RUN: opt -globalopt -S < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker$comdat_global = comdat any 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker@comdat_global = weak_odr global i8 0, comdat($comdat_global) 6*9880d681SAndroid Build Coastguard Worker@simple_global = internal global i8 0 7*9880d681SAndroid Build Coastguard Worker; CHECK: @comdat_global = weak_odr global i8 0, comdat{{$}} 8*9880d681SAndroid Build Coastguard Worker; CHECK: @simple_global = internal global i8 42 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker@llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [ 11*9880d681SAndroid Build Coastguard Worker { i32, void ()*, i8* } { i32 65535, void ()* @init_comdat_global, i8* @comdat_global }, 12*9880d681SAndroid Build Coastguard Worker { i32, void ()*, i8* } { i32 65535, void ()* @init_simple_global, i8* null } 13*9880d681SAndroid Build Coastguard Worker] 14*9880d681SAndroid Build Coastguard Worker; CHECK: @llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] 15*9880d681SAndroid Build Coastguard Worker; CHECK: [{ i32, void ()*, i8* } { i32 65535, void ()* @init_comdat_global, i8* @comdat_global }] 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerdefine void @init_comdat_global() { 18*9880d681SAndroid Build Coastguard Worker store i8 42, i8* @comdat_global 19*9880d681SAndroid Build Coastguard Worker ret void 20*9880d681SAndroid Build Coastguard Worker} 21*9880d681SAndroid Build Coastguard Worker; CHECK: define void @init_comdat_global() 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine internal void @init_simple_global() comdat($comdat_global) { 24*9880d681SAndroid Build Coastguard Worker store i8 42, i8* @simple_global 25*9880d681SAndroid Build Coastguard Worker ret void 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: @init_simple_global() 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Workerdefine i8* @use_simple() { 30*9880d681SAndroid Build Coastguard Worker ret i8* @simple_global 31*9880d681SAndroid Build Coastguard Worker} 32*9880d681SAndroid Build Coastguard Worker; CHECK: define i8* @use_simple() 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Workerdefine i8* @use_comdat() { 35*9880d681SAndroid Build Coastguard Worker ret i8* @comdat_global 36*9880d681SAndroid Build Coastguard Worker} 37*9880d681SAndroid Build Coastguard Worker; CHECK: define i8* @use_comdat() 38