brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 32f149b Raw
78 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt < %s -passes=gvn -enable-pre -S | FileCheck %s --check-prefixes=CHECK,MDEP3; RUN: opt < %s -passes='gvn<memoryssa>' -enable-pre -S | FileCheck %s --check-prefixes=CHECK,MSSA4 5@H = common global i32 06@G = common global i32 07 8define i32 @test1(i1 %cond, i32 %v) nounwind {9; CHECK-LABEL: define i32 @test1(10; CHECK-SAME: i1 [[COND:%.*]], i32 [[V:%.*]]) #[[ATTR0:[0-9]+]] {11; CHECK-NEXT:  [[ENTRY:.*:]]12; CHECK-NEXT:    br i1 [[COND]], label %[[BB:.*]], label %[[BB1:.*]]13; CHECK:       [[BB]]:14; CHECK-NEXT:    [[ADD_1:%.*]] = add i32 [[V]], 4215; CHECK-NEXT:    store i32 [[ADD_1]], ptr @G, align 416; CHECK-NEXT:    br label %[[RETURN:.*]]17; CHECK:       [[BB1]]:18; CHECK-NEXT:    [[DOTPRE:%.*]] = add i32 [[V]], 4219; CHECK-NEXT:    br label %[[RETURN]]20; CHECK:       [[RETURN]]:21; CHECK-NEXT:    [[ADD_2_PRE_PHI:%.*]] = phi i32 [ [[DOTPRE]], %[[BB1]] ], [ [[ADD_1]], %[[BB]] ]22; CHECK-NEXT:    store i32 [[ADD_2_PRE_PHI]], ptr @H, align 423; CHECK-NEXT:    ret i32 024;25entry:26  br i1 %cond, label %bb, label %bb127 28bb:29  %add.1 = add nuw nsw i32 %v, 4230  store i32 %add.1, ptr @G, align 431  br label %return32 33bb1:34  br label %return35 36return:37  %add.2 = add i32 %v, 4238  store i32 %add.2, ptr @H, align 439  ret i32 040}41 42define i32 @test2(i1 %cond, i32 %v) nounwind {43; CHECK-LABEL: define i32 @test2(44; CHECK-SAME: i1 [[COND:%.*]], i32 [[V:%.*]]) #[[ATTR0]] {45; CHECK-NEXT:  [[ENTRY:.*:]]46; CHECK-NEXT:    br i1 [[COND]], label %[[BB:.*]], label %[[BB1:.*]]47; CHECK:       [[BB]]:48; CHECK-NEXT:    [[ADD_1:%.*]] = add i32 [[V]], 4249; CHECK-NEXT:    store i32 [[ADD_1]], ptr @G, align 450; CHECK-NEXT:    br label %[[RETURN:.*]]51; CHECK:       [[BB1]]:52; CHECK-NEXT:    [[DOTPRE:%.*]] = add nuw nsw i32 [[V]], 4253; CHECK-NEXT:    br label %[[RETURN]]54; CHECK:       [[RETURN]]:55; CHECK-NEXT:    [[ADD_2_PRE_PHI:%.*]] = phi i32 [ [[DOTPRE]], %[[BB1]] ], [ [[ADD_1]], %[[BB]] ]56; CHECK-NEXT:    store i32 [[ADD_2_PRE_PHI]], ptr @H, align 457; CHECK-NEXT:    ret i32 058;59entry:60  br i1 %cond, label %bb, label %bb161 62bb:63  %add.1 = add i32 %v, 4264  store i32 %add.1, ptr @G, align 465  br label %return66 67bb1:68  br label %return69 70return:71  %add.2 = add nuw nsw i32 %v, 4272  store i32 %add.2, ptr @H, align 473  ret i32 074}75;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:76; MDEP: {{.*}}77; MSSA: {{.*}}78