[llvm] AMDGPU: Remove flat/global fmin/fmax intrinsics (PR #105642)
Gheorghe-Teodor Bercea via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 16 08:28:35 PDT 2024
doru1004 wrote:
> > @arsenm I am not ok with the removal of these intrinsics that allow direct call to some of these atomics. I think you should keep them while you still do the changes that you want with the other atomicrmw. Your change is not backwards compatible. It is not yet clear to me if calling create atomicrmw is equivalent to calling the old intrisincs.
>
> @doru1004 Can you please provide an example use case where it's not clear how to use atomicrmw to replace the old intrinsics? Then maybe we can add something to the docs or at least commit message to clarify.
For all the cases where the intrinsic was used i.e. fadd/fmin/fmax emitting atomic RMW without any metadata is conservative, safe but not equivalent with the behavior of the intrinsic. So one thing that has not been clear is what is the correct combination of metadata attributes that allows the newly emitted atomic RMW instruction to be equivalent (or very very close) to the behavior of the intrinsic that was removed. I would argue that some higher level functions like emitAtomicRMW{FAdd/FMin/FMax} are needed to cover those cases and emit the atomicRMW with the correct combination of metadata attributes.
https://github.com/llvm/llvm-project/pull/105642
More information about the llvm-commits
mailing list