mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 12:56:07 +00:00

Summary: Although the feature was introduced only in OpenCL C v2.0 spec., it's useful for OpenCL 1.x too and doesn't require HW support. Reviewers: Anastasia Subscribers: yaxunl, cfe-commits, bader Differential Revision: https://reviews.llvm.org/D27453 llvm-svn: 289535
18 lines
628 B
Common Lisp
18 lines
628 B
Common Lisp
//RUN: %clang_cc1 -O0 -cl-std=CL2.0 -fsyntax-only -verify %s
|
|
|
|
kernel void C (global int *x) {
|
|
int I = 3;
|
|
__attribute__((opencl_unroll_hint(I))) // expected-error {{'opencl_unroll_hint' attribute requires an integer constant}}
|
|
while (I--);
|
|
}
|
|
|
|
kernel void E() {
|
|
__attribute__((opencl_unroll_hint(2,4))) // expected-error {{'opencl_unroll_hint' attribute takes no more than 1 argument}}
|
|
for(int i=0; i<100; i++);
|
|
}
|
|
|
|
kernel void F() {
|
|
__attribute__((opencl_unroll_hint(-1))) // expected-error {{'opencl_unroll_hint' attribute requires a positive integral compile time constant expression}}
|
|
for(int i=0; i<100; i++);
|
|
}
|