[ARM] Better OR's for MVE compares
[llvm-core.git] / test / Transforms / IndVarSimplify / loop_evaluate11.ll
blob40b785ea4d6a0936355e789224cecf1f0ccd038d
1 ; RUN: opt < %s -domfrontier -indvars -loop-deletion
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
5 define void @slap_sl_mem_create() nounwind {
6 entry:
7         br label %bb15
9 bb15:           ; preds = %bb15, %entry
10         %order_end.0 = phi i32 [ 0, %entry ], [ %tmp, %bb15 ]           ; <i32> [#uses=1]
11         %tmp = add i32 %order_end.0, 1          ; <i32> [#uses=2]
12         br i1 undef, label %bb17, label %bb15
14 bb17:           ; preds = %bb17, %bb15
15         %order_start.0 = phi i32 [ %tmp1, %bb17 ], [ 0, %bb15 ]         ; <i32> [#uses=2]
16         %tmp1 = add i32 %order_start.0, 1               ; <i32> [#uses=2]
17         %tmp2 = icmp eq i32 undef, 0            ; <i1> [#uses=1]
18         br i1 %tmp2, label %bb18, label %bb17
20 bb18:           ; preds = %bb17
21         %tmp3 = sub i32 %tmp, %tmp1             ; <i32> [#uses=0]
22         br label %bb59
24 bb51:           ; preds = %bb59
25         %tmp4 = add i32 %order_start.0, 2               ; <i32> [#uses=1]
26         %tmp5 = add i32 %tmp4, undef            ; <i32> [#uses=1]
27         %tmp6 = lshr i32 undef, %tmp5           ; <i32> [#uses=1]
28         %tmp7 = icmp eq i32 %tmp6, 0            ; <i1> [#uses=1]
29         br i1 %tmp7, label %bb52, label %bb59
31 bb59:           ; preds = %bb51, %bb18
32         br label %bb51
34 bb52:           ; preds = %bb51
35         unreachable