25 lines · plain
1; RUN: opt < %s -passes=loop-deletion -S | FileCheck %s2 3; Checking that possible users of instruction from the loop in4; unreachable blocks are handled.5 6define i64 @foo() {7entry:8 br label %invloop9; CHECK-LABEL-NOT: invloop10invloop:11 %indvar1 = phi i64 [ 3, %entry ], [ %indvar2, %invloop_iter ]12 %check = icmp ult i64 %indvar1, 40013 br i1 %check, label %invloop_iter, label %loopexit14invloop_iter:15 %indvar2 = add i64 %indvar1, 116 %baddef = add i64 0, 017 br label %invloop18loopexit:19 ret i64 020deadcode:21; CHECK-LABEL: deadcode22; CHECK: ret i64 poison23 ret i64 %baddef24}25