diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2017-01-27 18:41:14 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2017-01-27 18:41:14 +0000 |
commit | 08efb7ebf686a48a48b5d90a6ec264b58233829b (patch) | |
tree | 5bb98f09dad011f11dd1bf8b730ca6c27963b8c7 /llvm/lib/Target/AMDGPU/SIISelLowering.cpp | |
parent | fe12450e8e1b5b1daaab729700f1269c4b1f2095 (diff) | |
download | bcm5719-llvm-08efb7ebf686a48a48b5d90a6ec264b58233829b.tar.gz bcm5719-llvm-08efb7ebf686a48a48b5d90a6ec264b58233829b.zip |
AMDGPU/SI: Move some ISel helpers into utils so they can be shared with GISel
Reviewers: arsenm
Reviewed By: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye
Differential Revision: https://reviews.llvm.org/D29068
llvm-svn: 293321
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index 645a09db1b9..4d17746d9b3 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -688,18 +688,8 @@ bool SITargetLowering::isCheapAddrSpaceCast(unsigned SrcAS, bool SITargetLowering::isMemOpUniform(const SDNode *N) const { const MemSDNode *MemNode = cast<MemSDNode>(N); - const Value *Ptr = MemNode->getMemOperand()->getValue(); - - // UndefValue means this is a load of a kernel input. These are uniform. - // Sometimes LDS instructions have constant pointers. - // If Ptr is null, then that means this mem operand contains a - // PseudoSourceValue like GOT. - if (!Ptr || isa<UndefValue>(Ptr) || isa<Argument>(Ptr) || - isa<Constant>(Ptr) || isa<GlobalValue>(Ptr)) - return true; - const Instruction *I = dyn_cast<Instruction>(Ptr); - return I && I->getMetadata("amdgpu.uniform"); + return AMDGPU::isUniformMMO(MemNode->getMemOperand()); } TargetLoweringBase::LegalizeTypeAction |