aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2024-05-07 18:26:32 +0200
committerGitHub <noreply@github.com>2024-05-07 18:26:32 +0200
commit7927bcdb8a32646f78c01535050ada6ddc23f4f5 (patch)
tree7e7a227bb047491e788e66e3c2038000383bf71e /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent5c5116556f58d90353aa3e3a34214cdc5ff0b2f2 (diff)
downloadllvm-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