[Openmp-commits] [openmp] Add openmp support to System z (PR #66081)
Ulrich Weigand via Openmp-commits
openmp-commits at lists.llvm.org
Wed Oct 25 05:57:55 PDT 2023
uweigand wrote:
> ```
> diff --git a/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp b/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
> index 7a3a2a7e9013..6abb203f0c36 100644
> --- a/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
> +++ b/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
> @@ -226,6 +226,8 @@ void SystemZPassConfig::addIRPasses() {
> addPass(createLoopDataPrefetchPass());
> }
>
> + addPass(createAtomicExpandPass());
> +
> TargetPassConfig::addIRPasses();
> }
> ```
This should be done as a stand-alone PR, I think there'll need to be some additional discussion. In particular, we should make sure that the atomic expand pass doesn't introduce any other changes we don't want to see - we'll have to review the default settings of the various `shouldExpandAtomic...` and `shouldCastAtomic...` flags. For example, I don't think we need to cast atomic loads/stores of floating-point types to integer types - this can still happen directly via FPRs.
See also this (still pending) patch about handling 128-bit atomics: https://reviews.llvm.org/D146425
https://github.com/llvm/llvm-project/pull/66081
More information about the Openmp-commits
mailing list