Home | History | Annotate | Download | only in Hexagon
      1 ; RUN: llc -march=hexagon -mcpu=hexagonv5 < %s | FileCheck %s
      2 
      3 ; We shouldn't generate a hardware loop in this case because the initial
      4 ; value may be zero, which means the endloop instruction will not decrement
      5 ; the loop counter, and the loop will execute only once.
      6 
      7 ; CHECK-NOT: loop0
      8 
      9 define void @foo(i32 %count, i32 %v) #0 {
     10 entry:
     11   br label %do.body
     12 
     13 do.body:
     14   %count.addr.0 = phi i32 [ %count, %entry ], [ %dec, %do.body ]
     15   tail call void asm sideeffect "nop", ""() #1
     16   %dec = add i32 %count.addr.0, -1
     17   %cmp = icmp eq i32 %dec, 0
     18   br i1 %cmp, label %do.end, label %do.body
     19 
     20 do.end:
     21   ret void
     22 }
     23