[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / Hexagon / hwloop3.ll
blobf70623e78794ab91440290271155584fb2126e02
1 ; RUN: llc -march=hexagon < %s | FileCheck %s
3 ; Remove the unconditional jump to following instruction.
5 ; CHECK: endloop0
6 ; CHECK-NOT: jump [[L1:.]]{{.*[[:space:]]+}}[[L1]]
8 define void @test(ptr nocapture %a, i32 %n) nounwind {
9 entry:
10   br label %for.body
12 for.body:
13   %arrayidx.phi = phi ptr [ %a, %entry ], [ %arrayidx.inc, %for.body ]
14   %i.02 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
15   %0 = load i32, ptr %arrayidx.phi, align 4
16   %add = add nsw i32 %0, 1
17   store i32 %add, ptr %arrayidx.phi, align 4
18   %inc = add nsw i32 %i.02, 1
19   %exitcond = icmp eq i32 %inc, 100
20   %arrayidx.inc = getelementptr i32, ptr %arrayidx.phi, i32 1
21   br i1 %exitcond, label %for.end, label %for.body
23 for.end:
24   ret void