[AMDGPU] Use new target MMO flag MONoClobber
authorJay Foad <jay.foad@amd.com>
Wed, 2 Feb 2022 11:35:36 +0000 (11:35 +0000)
committerJay Foad <jay.foad@amd.com>
Wed, 2 Feb 2022 17:12:36 +0000 (17:12 +0000)
commitddd3807e6952dedfd842b3b10076a614f75c1979
treebfe2c9d120eabd93f1785be20d0335dd50ba6db8
parentab9a571a942a9d6fbf4270f115959cc357de2007
[AMDGPU] Use new target MMO flag MONoClobber

This allows us to set the noclobber flag on (the MMO of) a load
instruction instead of on the pointer. This fixes a bug where noclobber
was being applied to all loads from the same pointer, even if some of
them were clobbered.

Differential Revision: https://reviews.llvm.org/D118775
12 files changed:
llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp
llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.h
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.h
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
llvm/test/CodeGen/AMDGPU/global_smrd.ll
llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
llvm/test/CodeGen/MIR/AMDGPU/target-memoperands.mir [new file with mode: 0644]