1; RUN: opt -passes=globalopt -S < %s | FileCheck %s 2 3%sometype = type { ptr } 4 5@map = internal unnamed_addr global ptr null, align 8 6 7define void @Init() { 8; CHECK-LABEL: @Init( 9; CHECK-NEXT: entry: 10; CHECK-NEXT: store i1 true, ptr @map.init, align 1 11; CHECK-NEXT: ret void 12; 13entry: 14 %call = tail call noalias nonnull dereferenceable(48) ptr @_Znwm(i64 48) 15 store ptr %call, ptr @map, align 8 16 ret void 17} 18 19define void @Usage() { 20; CHECK-LABEL: @Usage( 21; CHECK-NEXT: entry: 22; CHECK-NEXT: [[MAP_INIT_VAL:%.*]] = load i1, ptr @map.init, align 1 23; CHECK-NEXT: [[NOTINIT:%.*]] = xor i1 [[MAP_INIT_VAL]], true 24; CHECK-NEXT: unreachable 25; 26entry: 27 %0 = load ptr, ptr @map, align 8 28 %.not = icmp eq ptr %0, null 29 unreachable 30} 31 32declare ptr @_Znwm(i64) 33