Lines Matching refs:LIMIT

3 … opt -loop-reduce -scalar-evolution-max-arith-depth=2 -S < %s | FileCheck --check-prefixes=LIMIT %s
75 ; LIMIT-LABEL: @test(
76 ; LIMIT-NEXT: entry:
77 ; LIMIT-NEXT: br label [[OUTER_LOOP:%.*]]
78 ; LIMIT: outer_loop:
79 ; LIMIT-NEXT: [[PHI2:%.*]] = phi i32 [ [[A:%.*]], [[ENTRY:%.*]] ], [ 204, [[OUTER_TAIL:%.*]] ]
80 ; LIMIT-NEXT: [[PHI3:%.*]] = phi i32 [ [[A]], [[ENTRY]] ], [ 243, [[OUTER_TAIL]] ]
81 ; LIMIT-NEXT: [[PHI4:%.*]] = phi i32 [ [[B:%.*]], [[ENTRY]] ], [ [[I35:%.*]], [[OUTER_TAIL]] ]
82 ; LIMIT-NEXT: br label [[GUARD:%.*]]
83 ; LIMIT: guard:
84 ; LIMIT-NEXT: [[LCMP_MOD:%.*]] = icmp eq i32 [[C:%.*]], 0
85 ; LIMIT-NEXT: br i1 [[LCMP_MOD]], label [[OUTER_TAIL]], label [[PREHEADER:%.*]]
86 ; LIMIT: preheader:
87 ; LIMIT-NEXT: [[I15:%.*]] = shl i32 [[B]], 1
88 ; LIMIT-NEXT: [[TMP0:%.*]] = mul i32 [[PHI2]], -1
89 ; LIMIT-NEXT: [[TMP1:%.*]] = mul i32 [[TMP0]], -1
90 ; LIMIT-NEXT: [[TMP2:%.*]] = sub i32 [[PHI4]], [[TMP1]]
91 ; LIMIT-NEXT: [[TMP3:%.*]] = add i32 [[B]], [[PHI4]]
92 ; LIMIT-NEXT: [[TMP4:%.*]] = sub i32 [[TMP3]], [[TMP1]]
93 ; LIMIT-NEXT: [[TMP5:%.*]] = sub i32 14, [[TMP4]]
94 ; LIMIT-NEXT: br label [[INNER_LOOP:%.*]]
95 ; LIMIT: inner_loop:
96 ; LIMIT-NEXT: [[LSR_IV3:%.*]] = phi i32 [ [[LSR_IV_NEXT4:%.*]], [[INNER_LOOP]] ], [ [[TMP5]], [[…
97 ; LIMIT-NEXT: [[LSR_IV1:%.*]] = phi i32 [ [[LSR_IV_NEXT2:%.*]], [[INNER_LOOP]] ], [ [[TMP4]], [[…
98 ; LIMIT-NEXT: [[LSR_IV:%.*]] = phi i32 [ [[LSR_IV_NEXT:%.*]], [[INNER_LOOP]] ], [ [[TMP2]], [[PR…
99 ; LIMIT-NEXT: [[PHI5:%.*]] = phi i32 [ [[PHI3]], [[PREHEADER]] ], [ [[I30:%.*]], [[INNER_LOOP]] ]
100 ; LIMIT-NEXT: [[PHI6:%.*]] = phi i32 [ [[PHI2]], [[PREHEADER]] ], [ [[I33:%.*]], [[INNER_LOOP]] ]
101 ; LIMIT-NEXT: [[ITER:%.*]] = phi i32 [ [[C]], [[PREHEADER]] ], [ [[ITER_SUB:%.*]], [[INNER_LOOP]…
102 ; LIMIT-NEXT: [[I17:%.*]] = sub i32 [[PHI4]], [[PHI6]]
103 ; LIMIT-NEXT: [[I18:%.*]] = sub i32 14, [[PHI5]]
104 ; LIMIT-NEXT: [[I19:%.*]] = mul i32 [[I18]], [[C]]
105 ; LIMIT-NEXT: [[FACTOR_PROL:%.*]] = shl i32 [[PHI5]], 1
106 ; LIMIT-NEXT: [[TMP6:%.*]] = add i32 [[LSR_IV1]], [[I19]]
107 ; LIMIT-NEXT: [[TMP7:%.*]] = add i32 [[TMP6]], [[FACTOR_PROL]]
108 ; LIMIT-NEXT: [[TMP8:%.*]] = shl i32 [[TMP7]], 1
109 ; LIMIT-NEXT: [[TMP9:%.*]] = add i32 [[LSR_IV]], [[TMP8]]
110 ; LIMIT-NEXT: [[TMP10:%.*]] = sub i32 [[LSR_IV3]], [[I19]]
111 ; LIMIT-NEXT: [[TMP11:%.*]] = sub i32 [[TMP10]], [[FACTOR_PROL]]
112 ; LIMIT-NEXT: [[TMP12:%.*]] = mul i32 [[C]], [[TMP11]]
113 ; LIMIT-NEXT: [[TMP13:%.*]] = add i32 [[LSR_IV1]], [[I19]]
114 ; LIMIT-NEXT: [[TMP14:%.*]] = add i32 [[TMP13]], [[FACTOR_PROL]]
115 ; LIMIT-NEXT: [[TMP15:%.*]] = shl i32 [[TMP14]], 1
116 ; LIMIT-NEXT: [[TMP16:%.*]] = add i32 [[TMP12]], [[TMP15]]
117 ; LIMIT-NEXT: [[TMP17:%.*]] = add i32 [[LSR_IV]], [[TMP16]]
118 ; LIMIT-NEXT: [[I29:%.*]] = mul i32 [[TMP9]], [[C]]
119 ; LIMIT-NEXT: [[FACTOR_2_PROL:%.*]] = shl i32 [[TMP17]], 1
120 ; LIMIT-NEXT: [[I30]] = add i32 [[I17]], [[FACTOR_2_PROL]]
121 ; LIMIT-NEXT: [[I33]] = add i32 [[PHI6]], -3
122 ; LIMIT-NEXT: [[ITER_SUB]] = add i32 [[ITER]], -1
123 ; LIMIT-NEXT: [[LSR_IV_NEXT]] = add i32 [[LSR_IV]], 3
124 ; LIMIT-NEXT: [[LSR_IV_NEXT2]] = add i32 [[LSR_IV1]], 3
125 ; LIMIT-NEXT: [[LSR_IV_NEXT4]] = add i32 [[LSR_IV3]], -3
126 ; LIMIT-NEXT: [[ITER_CMP:%.*]] = icmp eq i32 [[ITER_SUB]], 0
127 ; LIMIT-NEXT: br i1 [[ITER_CMP]], label [[OUTER_TAIL_LOOPEXIT:%.*]], label [[INNER_LOOP]]
128 ; LIMIT: outer_tail.loopexit:
129 ; LIMIT-NEXT: br label [[OUTER_TAIL]]
130 ; LIMIT: outer_tail:
131 ; LIMIT-NEXT: [[PHI7:%.*]] = phi i32 [ [[PHI2]], [[GUARD]] ], [ [[I33]], [[OUTER_TAIL_LOOPEXIT]]…
132 ; LIMIT-NEXT: [[I35]] = sub i32 [[A]], [[PHI7]]
133 ; LIMIT-NEXT: [[CMP:%.*]] = icmp sgt i32 [[I35]], 9876
134 ; LIMIT-NEXT: br i1 [[CMP]], label [[EXIT:%.*]], label [[OUTER_LOOP]]
135 ; LIMIT: exit:
136 ; LIMIT-NEXT: ret void