; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 ; RUN: opt -S -passes=indvars < %s | FileCheck %s define void @pr126409() { ; CHECK-LABEL: define void @pr126409() { ; CHECK-NEXT: [[ENTRY:.*:]] ; CHECK-NEXT: [[X:%.*]] = xor i32 0, 1 ; CHECK-NEXT: [[CMP:%.*]] = icmp samesign ult i32 [[X]], 155 ; CHECK-NEXT: br i1 [[CMP]], label %[[FOR_BODY_PREHEADER:.*]], label %[[IF_END:.*]] ; CHECK: [[FOR_BODY_PREHEADER]]: ; CHECK-NEXT: br label %[[FOR_BODY:.*]] ; CHECK: [[FOR_BODY]]: ; CHECK-NEXT: br i1 false, label %[[FOR_BODY]], label %[[IF_END_LOOPEXIT:.*]] ; CHECK: [[IF_END_LOOPEXIT]]: ; CHECK-NEXT: br label %[[IF_END]] ; CHECK: [[IF_END]]: ; CHECK-NEXT: ret void ; entry: %x = xor i32 0, 1 %cmp = icmp samesign ult i32 %x, 155 br i1 %cmp, label %for.body, label %if.end for.body: %phi = phi i8 [ 1, %for.body ], [ 0, %entry ] %cmp2 = icmp slt i8 %phi, 1 br i1 %cmp2, label %for.body, label %if.end if.end: ret void }