Home | History | Annotate | Download | only in LoopDeletion
      1 ; RUN: opt < %s -loop-deletion -S | FileCheck %s
      2 
      3 ; Checking that possible users of instruction from the loop in
      4 ; unreachable blocks are handled.
      5 
      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
     24 }
     25