[OpenMP] Fix mispelled attribute and warning

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.
This commit is contained in:
Joseph Huber 2025-01-20 08:39:39 -06:00
parent 3b001db4f9
commit 723a3e746a
4 changed files with 4 additions and 4 deletions

View File

@ -108,4 +108,5 @@ StringSet<> llvm::KnownAssumptionStrings({
"omp_no_parallelism", // OpenMP 5.1
"ompx_spmd_amenable", // OpenMPOpt extension
"ompx_no_call_asm", // OpenMPOpt extension
"ompx_aligned_barrier", // OpenMPOpt extension
});

View File

@ -100,7 +100,6 @@ set(bc_flags -c -foffload-lto -std=c++17 -fvisibility=hidden
-nocudalib -nogpulib -nogpuinc -nostdlibinc
-fopenmp -fopenmp-cuda-mode
-Wno-unknown-cuda-version -Wno-openmp-target
-Wno-unknown-assumption # TODO: Fix false-positive warning for ext_aligned_barrier
-DOMPTARGET_DEVICE_RUNTIME
-I${include_directory}
-I${devicertl_base_directory}/../include

View File

@ -197,7 +197,7 @@ void threads(atomic::OrderingTy Ordering);
/// (hence all threads in the block are "aligned"). Also perform a fence before
/// and after the barrier according to \p Ordering. Note that the
/// fence might be part of the barrier if the target offers this.
[[gnu::noinline, omp::assume("ext_aligned_barrier")]] void
[[gnu::noinline, omp::assume("ompx_aligned_barrier")]] void
threadsAligned(atomic::OrderingTy Ordering);
///}

View File

@ -33,9 +33,9 @@ int main(int argc, char** argv) {
}
// Check for an empty kernel (IR level)
// FIRST: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main
// 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: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main{{.*}}
// SECOND-NEXT: ret void