brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 57e92bb Raw
66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=inline -S < %s | FileCheck %s3; RUN: opt -passes='cgscc(inline)' -S < %s | FileCheck %s4; RUN: opt -passes='module-inline' -S < %s | FileCheck %s5 6define dso_local i32 @main() {7; CHECK-LABEL: @main(8; CHECK-NEXT:  bb:9; CHECK-NEXT:    [[I_I:%.*]] = alloca i32, align 410; CHECK-NEXT:    [[I1_I:%.*]] = alloca i32, align 411; CHECK-NEXT:    [[I:%.*]] = alloca i32, align 412; CHECK-NEXT:    store i32 0, ptr [[I]], align 413; CHECK-NEXT:    call void @llvm.lifetime.start.p0(ptr [[I_I]])14; CHECK-NEXT:    call void @llvm.lifetime.start.p0(ptr [[I1_I]])15; CHECK-NEXT:    store i32 0, ptr [[I1_I]], align 416; CHECK-NEXT:    [[I2_I:%.*]] = load i32, ptr [[I1_I]], align 417; CHECK-NEXT:    callbr void asm sideeffect "", "r,!i,!i,~{dirflag},~{fpsr},~{flags}"(i32 [[I2_I]])18; CHECK-NEXT:    to label [[BB3_I:%.*]] [label [[BB5_I:%.*]], label %bb4.i]19; CHECK:       bb3.i:20; CHECK-NEXT:    store i32 0, ptr [[I_I]], align 421; CHECK-NEXT:    br label [[T32_EXIT:%.*]]22; CHECK:       bb4.i:23; CHECK-NEXT:    store i32 1, ptr [[I_I]], align 424; CHECK-NEXT:    br label [[T32_EXIT]]25; CHECK:       bb5.i:26; CHECK-NEXT:    store i32 2, ptr [[I_I]], align 427; CHECK-NEXT:    br label [[T32_EXIT]]28; CHECK:       t32.exit:29; CHECK-NEXT:    [[I7_I:%.*]] = load i32, ptr [[I_I]], align 430; CHECK-NEXT:    call void @llvm.lifetime.end.p0(ptr [[I_I]])31; CHECK-NEXT:    call void @llvm.lifetime.end.p0(ptr [[I1_I]])32; CHECK-NEXT:    ret i32 [[I7_I]]33;34bb:35  %i = alloca i32, align 436  store i32 0, ptr %i, align 437  %i1 = call i32 @t32(i32 0)38  ret i32 %i139}40 41define internal i32 @t32(i32 %arg) {42bb:43  %i = alloca i32, align 444  %i1 = alloca i32, align 445  store i32 %arg, ptr %i1, align 446  %i2 = load i32, ptr %i1, align 447  callbr void asm sideeffect "", "r,!i,!i,~{dirflag},~{fpsr},~{flags}"(i32 %i2)48  to label %bb3 [label %bb5, label %bb4]49 50bb3:                                              ; preds = %bb51  store i32 0, ptr %i, align 452  br label %bb653 54bb4:                                              ; preds = %bb55  store i32 1, ptr %i, align 456  br label %bb657 58bb5:                                              ; preds = %bb59  store i32 2, ptr %i, align 460  br label %bb661 62bb6:                                              ; preds = %bb5, %bb4, %bb363  %i7 = load i32, ptr %i, align 464  ret i32 %i765}66