1; RUN: opt -passes=globalopt -S < %s | FileCheck %s 2 3%s = type { i32 } 4@g = internal global ptr null, align 8 5 6; Test code pattern for: 7; class s { int a; s() { a = 1;} }; 8; g = new s(); 9; 10 11define internal void @f() { 12; CHECK-LABEL: @f( 13; CHECK-NEXT: ret void 14; 15 %1 = tail call ptr @_Znwm(i64 4) 16 store i32 1, ptr %1, align 4 17 store ptr %1, ptr @g, align 8 18 ret void 19} 20 21define dso_local signext i32 @main() { 22; CHECK-LABEL: @main( 23; CHECK-NEXT: entry: 24; CHECK-NEXT: call fastcc void @f() 25; CHECK-NEXT: ret i32 1 26; 27entry: 28 call void @f() 29 %0 = load ptr, ptr @g, align 4 30 %1 = load i32, ptr %0, align 4 31 ret i32 %1 32} 33 34declare nonnull ptr @_Znwm(i64) 35 36declare signext i32 @printf(ptr, ...) 37 38