Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)
[llvm-project.git] / llvm / test / Transforms / GlobalOpt / new-promote.ll
blobbf0b6a91fd76d66e9fabc562a3fa0d135ad18c64
1 ; RUN: opt -passes=globalopt -S < %s | FileCheck %s
3 %s = type { i32 }
4 @g = internal global ptr null, align 8
6 ; Test code pattern for:
7 ;   class s { int a; s() { a = 1;} };
8 ;   g = new s();
11 define internal void @f() {
12 ; CHECK-LABEL: @f(
13 ; CHECK-NEXT:    ret void
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
21 define 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
27 entry:
28   call void @f()
29   %0 = load ptr, ptr @g, align 4
30   %1 = load i32, ptr %0, align 4
31   ret i32 %1
34 declare nonnull ptr @_Znwm(i64)
36 declare signext i32 @printf(ptr, ...)