From: Davide Italiano Date: Wed, 9 Aug 2017 16:06:04 +0000 (+0000) Subject: [ValueTracking] Update tests to unbreak the bots. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a07262ded40b91c4a99994b459ddc8a8ae2e1b5a;p=llvm [ValueTracking] Update tests to unbreak the bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310492 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/SimplifyCFG/pr34131.ll b/test/Transforms/SimplifyCFG/pr34131.ll index 2b5ea79795b..3fb45abfa45 100644 --- a/test/Transforms/SimplifyCFG/pr34131.ll +++ b/test/Transforms/SimplifyCFG/pr34131.ll @@ -1,55 +1,53 @@ -; NOTE: Assertions have been autogenerated by utils/update_test_checks.py -; RUN: opt -simplifycfg %s -S | FileCheck %s +; RUN: opt -simplifycfg %s -S -o - | FileCheck %s define void @patatino() { -; CHECK-LABEL: @patatino( -; CHECK-NEXT: br label [[BB1:%.*]] -; CHECK: bb1: -; CHECK-NEXT: br i1 undef, label [[BB4:%.*]], label [[BB9_CRITEDGE:%.*]] -; CHECK: bb4: -; CHECK-NEXT: [[DOTPR:%.*]] = phi i1 [ undef, [[BB4]] ], [ true, [[BB1]] ] -; CHECK-NEXT: br i1 [[DOTPR]], label [[BB4]], label [[BB6:%.*]] -; CHECK: bb6: -; CHECK-NEXT: [[TMP:%.*]] = or i64 undef, 1 -; CHECK-NEXT: [[TMP8:%.*]] = icmp ult i64 [[TMP]], 0 -; CHECK-NEXT: [[OR_COND:%.*]] = and i1 undef, [[TMP8]] -; CHECK-NEXT: [[TMP13:%.*]] = icmp ult i64 0, 0 -; CHECK-NEXT: [[OR_COND2:%.*]] = and i1 [[OR_COND]], [[TMP13]] -; CHECK-NEXT: [[TMP15:%.*]] = icmp ult i64 undef, 0 -; CHECK-NEXT: [[OR_COND3:%.*]] = and i1 [[OR_COND2]], [[TMP15]] -; CHECK-NEXT: [[TMP19:%.*]] = or i64 undef, 5 -; CHECK-NEXT: [[TMP20:%.*]] = icmp ult i64 [[TMP19]], 0 -; CHECK-NEXT: [[OR_COND4:%.*]] = and i1 [[OR_COND3]], [[TMP20]] -; CHECK-NEXT: [[TMP22:%.*]] = or i64 undef, 6 -; CHECK-NEXT: [[TMP23:%.*]] = icmp ult i64 [[TMP22]], 0 -; CHECK-NEXT: [[OR_COND5:%.*]] = and i1 [[OR_COND4]], [[TMP23]] -; CHECK-NEXT: [[TMP25:%.*]] = or i64 undef, 7 -; CHECK-NEXT: [[TMP26:%.*]] = icmp ult i64 [[TMP25]], 0 -; CHECK-NEXT: [[OR_COND6:%.*]] = and i1 [[OR_COND5]], [[TMP26]] -; CHECK-NEXT: [[TMP28:%.*]] = or i64 undef, 8 -; CHECK-NEXT: [[TMP29:%.*]] = icmp ult i64 [[TMP28]], 0 -; CHECK-NEXT: [[OR_COND7:%.*]] = and i1 [[OR_COND6]], [[TMP29]] -; CHECK-NEXT: [[OR_COND7_NOT:%.*]] = xor i1 [[OR_COND7]], true -; CHECK-NEXT: [[DOTNOT:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE:%.*]] = or i1 [[OR_COND7_NOT]], [[DOTNOT]] -; CHECK-NEXT: [[DOTNOT8:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE9:%.*]] = or i1 [[BRMERGE]], [[DOTNOT8]] -; CHECK-NEXT: [[DOTNOT10:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE11:%.*]] = or i1 [[BRMERGE9]], [[DOTNOT10]] -; CHECK-NEXT: [[DOTNOT12:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE13:%.*]] = or i1 [[BRMERGE11]], [[DOTNOT12]] -; CHECK-NEXT: [[DOTNOT14:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE15:%.*]] = or i1 [[BRMERGE13]], [[DOTNOT14]] -; CHECK-NEXT: [[DOTNOT16:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE17:%.*]] = or i1 [[BRMERGE15]], [[DOTNOT16]] -; CHECK-NEXT: [[DOTNOT18:%.*]] = xor i1 undef, true -; CHECK-NEXT: [[BRMERGE19:%.*]] = or i1 [[BRMERGE17]], [[DOTNOT18]] -; CHECK-NEXT: br i1 [[BRMERGE19]], label [[BB11:%.*]], label [[BB1]] -; CHECK: bb9.critedge: -; CHECK-NEXT: br label [[BB11]] -; CHECK: bb11: -; CHECK-NEXT: ret void -; + +; CHECK-LABEL: @patatino +; CHECK: br i1 undef, label %bb4, label %bb9.critedge +; CHECK: bb4: ; preds = %bb4, %bb1 +; CHECK-NEXT: %.pr = phi i1 [ undef, %bb4 ], [ true, %bb1 ] +; CHECK-NEXT: br i1 %.pr, label %bb4, label %bb6 +; CHECK: bb6: ; preds = %bb4 +; CHECK-NEXT: %tmp = or i64 undef, 1 +; CHECK-NEXT: %tmp8 = icmp ult i64 %tmp, 0 +; CHECK-NEXT: %or.cond = and i1 undef, %tmp8 +; CHECK-NEXT: %tmp13 = icmp ult i64 0, 0 +; CHECK-NEXT: %or.cond2 = and i1 %or.cond, %tmp13 +; CHECK-NEXT: %tmp15 = icmp ult i64 undef, 0 +; CHECK-NEXT: %or.cond3 = and i1 %or.cond2, %tmp15 +; CHECK-NEXT: %tmp19 = or i64 undef, 5 +; CHECK-NEXT: %tmp20 = icmp ult i64 %tmp19, 0 +; CHECK-NEXT: %or.cond4 = and i1 %or.cond3, %tmp20 +; CHECK-NEXT: %tmp22 = or i64 undef, 6 +; CHECK-NEXT: %tmp23 = icmp ult i64 %tmp22, 0 +; CHECK-NEXT: %or.cond5 = and i1 %or.cond4, %tmp23 +; CHECK-NEXT: %tmp25 = or i64 undef, 7 +; CHECK-NEXT: %tmp26 = icmp ult i64 %tmp25, 0 +; CHECK-NEXT: %or.cond6 = and i1 %or.cond5, %tmp26 +; CHECK-NEXT: %tmp28 = or i64 undef, 8 +; CHECK-NEXT: %tmp29 = icmp ult i64 %tmp28, 0 +; CHECK-NEXT: %or.cond7 = and i1 %or.cond6, %tmp29 +; CHECK-NEXT: %or.cond7.not = xor i1 %or.cond7, true +; CHECK-NEXT: %.not = xor i1 undef, true +; CHECK-NEXT: %brmerge = or i1 %or.cond7.not, %.not +; CHECK-NEXT: %.not8 = xor i1 undef, true +; CHECK-NEXT: %brmerge9 = or i1 %brmerge, %.not8 +; CHECK-NEXT: %.not10 = xor i1 undef, true +; CHECK-NEXT: %brmerge11 = or i1 %brmerge9, %.not10 +; CHECK-NEXT: %.not12 = xor i1 undef, true +; CHECK-NEXT: %brmerge13 = or i1 %brmerge11, %.not12 +; CHECK-NEXT: %.not14 = xor i1 undef, true +; CHECK-NEXT: %brmerge15 = or i1 %brmerge13, %.not14 +; CHECK-NEXT: %.not16 = xor i1 undef, true +; CHECK-NEXT: %brmerge17 = or i1 %brmerge15, %.not16 +; CHECK-NEXT: %.not18 = xor i1 undef, true +; CHECK-NEXT: %brmerge19 = or i1 %brmerge17, %.not18 +; CHECK-NEXT: br i1 %brmerge19, label %bb11, label %bb1 +; CHECK: bb9.critedge: ; preds = %bb1 +; CHECK-NEXT: br label %bb11 +; CHECK: bb11: ; preds = %bb6, %bb9.critedge +; CHECK-NEXT: ret void + br label %bb1 bb1: ; preds = %bb36, %0 br label %bb2