[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Transforms / IndVarSimplify / 2012-10-19-congruent-constant.ll
blob5f6ff36cf574d97e11ee237a2cedbad542bfdd26
1 ; RUN: opt -S -indvars < %s | FileCheck %s
3 ; PR12627
4 define void @test1(i32 %x) nounwind uwtable ssp {
5 entry:
6   br label %for.body
8 for.body:                                         ; preds = %for.body, %entry
9   %phi1 = phi i1 [ false, %entry ], [ %cmpa, %for.body ]
10   %phi2 = phi i1 [ false, %entry ], [ %cmpb, %for.body ]
11   %i.07 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
12   tail call void @aux(i1 %phi1, i1 %phi2) nounwind
13   %cmpa = icmp sgt i32 %i.07, 200
14   %cmpb = icmp sgt i32 %i.07, 100
15   %inc = add nsw i32 %i.07, 1
16   %exitcond = icmp eq i32 %inc, 100
17   br i1 %exitcond, label %for.end, label %for.body
19 for.end:                                          ; preds = %for.body
20   ret void
22 ; CHECK-LABEL: @test1(
23 ; CHECK-NOT: phi i1
24 ; CHECK: call void @aux(i1 false, i1 false)
27 declare void @aux(i1, i1)