| ; RUN: llc -mtriple=amdgpu6.00 -O0 -o - %s | FileCheck %s | |
| ; CHECK-LABEL: non_uniform_loop | |
| ; CHECK: s_endpgm | |
| define amdgpu_kernel void @non_uniform_loop(ptr addrspace(1) %array) { | |
| entry: | |
| %w = tail call i32 @llvm.amdgcn.workitem.id.x() | |
| br label %for.cond | |
| for.cond: | |
| %i = phi i32 [0, %entry], [%i.next, %for.inc] | |
| %cmp = icmp ult i32 %i, %w | |
| br i1 %cmp, label %for.body, label %for.end | |
| for.body: | |
| br label %for.inc | |
| for.inc: | |
| %i.next = add i32 %i, 1 | |
| br label %for.cond | |
| for.end: | |
| ret void | |
| } | |
| declare i32 @llvm.amdgcn.workitem.id.x() |