
The CUDA builtin library is apparently compiled in C++ mode, so the assumption of convergent needs to be made in a typically non-SPMD language. The functions in the library should still be assumed convergent. Currently they are not, which is potentially incorrect and this happens to work after the library is linked.
9 lines
375 B
C++
9 lines
375 B
C++
// RUN: %clang_cc1 -triple i386-pc-win32 -emit-llvm -fconvergent-functions -o - < %s | FileCheck -check-prefix=CONVFUNC %s
|
|
// RUN: %clang_cc1 -triple i386-pc-win32 -emit-llvm -o - < %s | FileCheck -check-prefix=NOCONVFUNC %s
|
|
|
|
// Test that the -fconvergent-functions flag works
|
|
|
|
// CONVFUNC: attributes #0 = { convergent {{.*}} }
|
|
// NOCONVFUNC-NOT: convergent
|
|
void func() { }
|