; RUN: llc -march=hexagon -mcpu=hexagonv5 -O2 -disable-block-placement=0 < %s | FileCheck %s ; Test that there is no redundant register assignment in the hardware loop ; preheader. ; CHECK-NOT: r{{.*}} = #5 @g = external global i32 define void @foo() #0 { entry: br i1 undef, label %if.end38, label %for.body for.body: %loopIdx.051 = phi i32 [ %inc, %for.body ], [ 0, %entry ] store i32 1, i32* @g, align 4 %inc = add i32 %loopIdx.051, 1 %cmp9 = icmp ult i32 %inc, 5 br i1 %cmp9, label %for.body, label %if.end38 if.end38: ret void }