diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2024-05-07 18:26:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-07 18:26:32 +0200 |
commit | 7927bcdb8a32646f78c01535050ada6ddc23f4f5 (patch) | |
tree | 7e7a227bb047491e788e66e3c2038000383bf71e /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 5c5116556f58d90353aa3e3a34214cdc5ff0b2f2 (diff) | |
download | llvm-7927bcdb8a32646f78c01535050ada6ddc23f4f5.zip llvm-7927bcdb8a32646f78c01535050ada6ddc23f4f5.tar.gz llvm-7927bcdb8a32646f78c01535050ada6ddc23f4f5.tar.bz2 |
AMDGPU: Do not bitcast atomicrmw in IR (#90045)
This is the first step to eliminating shouldCastAtomicRMWIInIR. This and
the other atomic expand casting hooks should be removed. This adds
duplicate legalization machinery and interfaces. This is already what
codegen is supposed to do, and already does for the promotion case.
In the case of atomicrmw xchg, there seems to be some benefit to having
the bitcasts moved outside of the cmpxchg loop on targets with separate
int and FP registers, which we should be able to deal with by directly
checking for the legality of the underlying operation.
The casting path was also losing metadata when it recreated the
instruction.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions