Summary: This is spelled `ompx_aligned_barrier` when used directly, but wasn't included in the list of known assumptions. Fix that so now th test works.
42 lines
806 B
C++
42 lines
806 B
C++
int main(int argc, char** argv) {
|
|
#pragma omp TGT1_DIRECTIVE
|
|
{
|
|
#ifdef LOOP_DIRECTIVE
|
|
#pragma omp LOOP_DIRECTIVE
|
|
for (int i = 0; i < argc; ++i)
|
|
#endif
|
|
{
|
|
#ifdef BODY_DIRECTIVE
|
|
#pragma omp BODY_DIRECTIVE
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
}
|
|
|
|
#ifdef TGT2_DIRECTIVE
|
|
#pragma omp TGT2_DIRECTIVE
|
|
{
|
|
#ifdef LOOP_DIRECTIVE
|
|
#pragma omp LOOP_DIRECTIVE
|
|
for (int i = 0; i < argc; ++i)
|
|
#endif
|
|
{
|
|
#ifdef BODY_DIRECTIVE
|
|
#pragma omp BODY_DIRECTIVE
|
|
{
|
|
}
|
|
#endif
|
|
}
|
|
}
|
|
#endif
|
|
}
|
|
|
|
// Check for an empty kernel (IR level)
|
|
// FIRST: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main{{.*}}
|
|
// FIRST-NEXT: ret void
|
|
|
|
// Check for two empty kernels (IR level)
|
|
// SECOND: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main{{.*}}
|
|
// SECOND-NEXT: ret void
|