xref: /llvm-project/llvm/test/Transforms/IndVarSimplify/dangling-use.ll (revision 986029c1640a5fa9ce2fa3becab0538168858741)
1; RUN: opt -passes=indvars -disable-output < %s
2
3target 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-f128:64:128-n32"
4target triple = "powerpc-unknown-linux-gnu"
5
6define void @vec_inverse_5_7_vert_loop_copyseparate(ptr %x, i32 %n, i32 %rowbytes) nounwind {
7entry:
8  %tmp1 = sdiv i32 %n, 3                          ; <i32> [#uses=1]
9  %tmp2 = sdiv i32 %rowbytes, 5                   ; <i32> [#uses=2]
10  br label %bb49
11
12bb49:                                             ; preds = %bb48, %entry
13  %x_addr.0 = phi ptr [ %x, %entry ], [ %tmp481, %bb48 ] ; <ptr> [#uses=2]
14  br label %bb10
15
16bb10:                                             ; preds = %bb49
17  %tmp326 = mul nsw i32 %tmp1, %tmp2              ; <i32> [#uses=1]
18  %tmp351 = getelementptr inbounds i8, ptr %x_addr.0, i32 %tmp326 ; <ptr> [#uses=1]
19  br i1 false, label %bb.nph, label %bb48
20
21bb.nph:                                           ; preds = %bb10
22  br label %bb23
23
24bb23:                                             ; preds = %bb28, %bb.nph
25  %pOriginHi.01 = phi ptr [ %tmp351, %bb.nph ], [ %pOriginHi.0, %bb28 ] ; <ptr> [#uses=2]
26  store ptr %pOriginHi.01, ptr null
27  %tmp385 = getelementptr inbounds i8, ptr %pOriginHi.01, i32 %tmp2 ; <ptr> [#uses=1]
28  br label %bb28
29
30bb28:                                             ; preds = %bb23
31  %pOriginHi.0 = phi ptr [ %tmp385, %bb23 ]       ; <ptr> [#uses=1]
32  br i1 false, label %bb23, label %bb28.bb48_crit_edge
33
34bb28.bb48_crit_edge:                              ; preds = %bb28
35  br label %bb48
36
37bb48:                                             ; preds = %bb28.bb48_crit_edge, %bb10
38  %tmp481 = getelementptr inbounds i8, ptr %x_addr.0, i32 1 ; <ptr> [#uses=1]
39  br label %bb49
40}
41