blob: eb2ec09802fedce589f282c188a3a57169b6c5be [file] [log] [blame]
Daniel Berlin17b13752017-02-19 06:45:02 +00001; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
Daniel Berlin283a6082017-03-01 19:59:26 +00002; REQUIRES: asserts
Daniel Berlin17b13752017-02-19 06:45:02 +00003; RUN: opt -debug-counter=predicateinfo-rename-skip=1,predicateinfo-rename-count=1 -print-predicateinfo -analyze < %s 2>&1 | FileCheck %s
Daniel Berlin283a6082017-03-01 19:59:26 +00004;; Test that, with debug counters on, we don't rename the first info, only the second
Daniel Berlin17b13752017-02-19 06:45:02 +00005define fastcc void @barney() {
6; CHECK-LABEL: @barney(
7; CHECK-NEXT: bb:
8; CHECK-NEXT: br label [[BB22:%.*]]
9; CHECK: bb22:
10; CHECK-NEXT: [[TMP23:%.*]] = icmp eq i32 undef, 2
11; CHECK: [[TMP23_0:%.*]] = call i1 @llvm.ssa.copy.i1(i1 [[TMP23]])
12; CHECK-NEXT: br i1 [[TMP23]], label [[BB29:%.*]], label [[BB35:%.*]]
13; CHECK: bb29:
14; CHECK: [[TMP23_0_1:%.*]] = call i1 @llvm.ssa.copy.i1(i1 [[TMP23_0]])
15; CHECK-NEXT: br i1 [[TMP23]], label [[BB33:%.*]], label [[BB35]]
16; CHECK: bb33:
17; CHECK-NEXT: br i1 [[TMP23_0_1]], label [[BB35]], label [[BB35]]
18; CHECK: bb35:
19; CHECK-NEXT: unreachable
20;
21bb:
22 br label %bb22
23bb22: ; preds = %bb21
24 %tmp23 = icmp eq i32 undef, 2
25 br i1 %tmp23, label %bb29, label %bb35
26
27
28bb29: ; preds = %bb28
29;; We will not rename this one (we will still generate a copy of a copy for the next one)
30 br i1 %tmp23, label %bb33, label %bb35
31
32
33bb33: ; preds = %bb31
34;; We will rename this one
35 br i1 %tmp23, label %bb35, label %bb35
36
37bb35: ; preds = %bb33, %bb29, %bb22
38 unreachable
39}