diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-12-01 23:04:00 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-12-01 23:04:00 +0000 |
| commit | f9bfeafd00339ffdd07a765375943a1dc68a61cd (patch) | |
| tree | c79ace9d6860e77b40a8e79ef14c3cd21f0a190f /llvm/lib/Target/AMDGPU/SIISelLowering.cpp | |
| parent | b32a22eab79ed35cdea7df5cb9b478a2fd96f5ee (diff) | |
| download | bcm5719-llvm-f9bfeafd00339ffdd07a765375943a1dc68a61cd.tar.gz bcm5719-llvm-f9bfeafd00339ffdd07a765375943a1dc68a61cd.zip | |
AMDGPU: Implement isNoopAddrSpaceCast
llvm-svn: 254468
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index ab93bceb96e..2cb801a707e 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -492,6 +492,17 @@ EVT SITargetLowering::getOptimalMemOpType(uint64_t Size, unsigned DstAlign, return MVT::Other; } +static bool isFlatGlobalAddrSpace(unsigned AS) { + return AS == AMDGPUAS::GLOBAL_ADDRESS || + AS == AMDGPUAS::FLAT_ADDRESS || + AS == AMDGPUAS::CONSTANT_ADDRESS; +} + +bool SITargetLowering::isNoopAddrSpaceCast(unsigned SrcAS, + unsigned DestAS) const { + return isFlatGlobalAddrSpace(SrcAS) && isFlatGlobalAddrSpace(DestAS); +} + TargetLoweringBase::LegalizeTypeAction SITargetLowering::getPreferredVectorAction(EVT VT) const { if (VT.getVectorNumElements() != 1 && VT.getScalarType().bitsLE(MVT::i16)) |

