Lines Matching +full:array +full:- +full:bounds
1 ; RUN: opt -irce -S < %s | FileCheck %s
10 %idx = phi i32 [ 0, %entry ] , [ %idx.next, %in.bounds ]
12 %array.idx = add i32 %idx, %offset
13 %abc.high = icmp slt i32 %array.idx, %len
14 %abc.low = icmp sge i32 %array.idx, 0
16 br i1 %abc, label %in.bounds, label %out.of.bounds, !prof !1
18 in.bounds:
19 %addr = getelementptr i32, i32* %arr, i32 %array.idx
24 out.of.bounds:
31 ; CHECK-LABEL: loop.preheader:
32 ; CHECK: [[not_safe_start:[^ ]+]] = add i32 %offset, -1
33 ; CHECK: [[not_n:[^ ]+]] = sub i32 -1, %n
36 ; CHECK: [[exit_preloop_at_loclamp:[^ ]+]] = sub i32 -1, [[not_exit_preloop_at_loclamp]]
41 ; CHECK: [[not_safe_start_2:[^ ]+]] = add i32 %offset, -1
45 ; CHECK: [[exit_mainloop_at_loclamp:[^ ]+]] = sub i32 -1, [[not_exit_mainloop_at_loclamp]]
50 ; CHECK-LABEL: in.bounds:
54 ; CHECK-LABEL: main.exit.selector:
58 ; CHECK-LABEL: in.bounds.preloop:
62 ; CHECK-LABEL: preloop.exit.selector:
66 ; CHECK-LABEL: in.bounds.postloop: