[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / Transforms / LoopDeletion / use-in-unreachable.ll
blobff7bc7566c05c86fa508a515307d182869db98b6
1 ; RUN: opt < %s -loop-deletion -S | FileCheck %s
3 ; Checking that possible users of instruction from the loop in
4 ; unreachable blocks are handled.
6 define i64 @foo() {
7 entry:
8   br label %invloop
9 ; CHECK-LABEL-NOT: invloop
10 invloop:
11   %indvar1 = phi i64 [ 3, %entry ], [ %indvar2, %invloop_iter ]
12   %check = icmp ult i64 %indvar1, 400
13   br i1 %check, label %invloop_iter, label %loopexit
14 invloop_iter:
15   %indvar2 = add i64 %indvar1, 1
16   %baddef = add i64 0, 0
17   br label %invloop
18 loopexit:
19   ret i64 0
20 deadcode:
21 ; CHECK-LABEL: deadcode
22 ; CHECK: ret i64 undef
23   ret i64 %baddef