24 lines · plain
1; RUN: llc -mtriple=hexagon-unknown-linux-gnu -enable-pipeliner -debug-only=pipeliner < %s 2>&1 | FileCheck %s2; REQUIRES: asserts3 4; CHECK: Cannot pipeline loop due to PHI cycle5 6define void @phi_cycle_loop(i32 %a, i32 %b) {7entry:8 br label %loop9 10loop:11 %1 = phi i32 [ %a, %entry ], [ %3, %loop ]12 %2 = phi i32 [ %a, %entry ], [ %1, %loop ]13 %3 = phi i32 [ %b, %entry ], [ %2, %loop ]14 15 ; Prevent PHI elimination by using all values16 %add1 = add i32 %1, %217 %add2 = add i32 %add1, %318 %cmp = icmp slt i32 %add2, 10019 br i1 %cmp, label %loop, label %exit20 21exit:22 ret void23}24