brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 9091806 Raw
61 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --check-globals2; RUN: opt -S -passes=globalopt -o - < %s | FileCheck %s3 4@g = internal global ptr null, align 85 6;.7; CHECK: @[[G_INIT:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global i1 false8;.9define internal i32 @f1() {10; CHECK-LABEL: define {{[^@]+}}@f1() unnamed_addr {11; CHECK-NEXT:    [[G_INIT_VAL:%.*]] = load i1, ptr @g.init, align 112; CHECK-NEXT:    call fastcc void @f2()13; CHECK-NEXT:    [[NOTINIT:%.*]] = xor i1 [[G_INIT_VAL]], true14; CHECK-NEXT:    br i1 [[NOTINIT]], label [[TMP1:%.*]], label [[TMP2:%.*]]15; CHECK:       1:16; CHECK-NEXT:    br label [[TMP3:%.*]]17; CHECK:       2:18; CHECK-NEXT:    br label [[TMP3]]19; CHECK:       3:20; CHECK-NEXT:    [[TMP4:%.*]] = phi i32 [ -1, [[TMP1]] ], [ 1, [[TMP2]] ]21; CHECK-NEXT:    ret i32 [[TMP4]]22;23  %1 = load ptr, ptr @g, align 824  call void @f2();25  %2 = icmp eq ptr %1, null26  br i1 %2, label %3, label %427 283:                                          ; preds = %029  br label %530 314:                                          ; preds = %032  br label %533 345:                                          ; preds = %3, %435  %6 = phi i32 [ -1, %3 ], [ 1, %4 ]36  ret i32 %637}38 39define internal void @f2() {40; CHECK-LABEL: define {{[^@]+}}@f2() unnamed_addr {41; CHECK-NEXT:    store i1 true, ptr @g.init, align 142; CHECK-NEXT:    ret void43;44  %1 = call noalias ptr @malloc(i64 4)45  store ptr %1, ptr @g, align 846  ret void47}48 49define dso_local i32 @main() {50; CHECK-LABEL: define {{[^@]+}}@main() local_unnamed_addr {51; CHECK-NEXT:    store i1 false, ptr @g.init, align 152; CHECK-NEXT:    [[TMP1:%.*]] = call fastcc i32 @f1()53; CHECK-NEXT:    ret i32 [[TMP1]]54;55  store ptr null, ptr @g, align 856  %1 = call i32 @f1()57  ret i32 %158}59 60declare dso_local noalias ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0)61