aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorJay Foad <jay.foad@amd.com>2024-02-13 09:01:45 +0000
committerGitHub <noreply@github.com>2024-02-13 09:01:45 +0000
commit5b015229b77d6ea7916a503d88661b04d4867e7c (patch)
treed6851c1c185df3936252676645e2f19d0214953e /llvm/lib
parent270f2c5575dc5dd001e91ddc2c71b0f2d23f567c (diff)
downloadllvm-5b015229b77d6ea7916a503d88661b04d4867e7c.zip
llvm-5b015229b77d6ea7916a503d88661b04d4867e7c.tar.gz
llvm-5b015229b77d6ea7916a503d88661b04d4867e7c.tar.bz2
[AMDGPU] Use LLT::isPointerOrPointerVector in legalizer (#81582)
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
index f3716f9..5458dfc 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
@@ -342,11 +342,8 @@ static std::initializer_list<LLT> AllS64Vectors = {V2S64, V3S64, V4S64, V5S64,
// Checks whether a type is in the list of legal register types.
static bool isRegisterClassType(LLT Ty) {
- if (Ty.isVector() && Ty.getElementType().isPointer())
- Ty = LLT::fixed_vector(Ty.getNumElements(),
- LLT::scalar(Ty.getScalarSizeInBits()));
- else if (Ty.isPointer())
- Ty = LLT::scalar(Ty.getScalarSizeInBits());
+ if (Ty.isPointerOrPointerVector())
+ Ty = Ty.changeElementType(LLT::scalar(Ty.getScalarSizeInBits()));
return is_contained(AllS32Vectors, Ty) || is_contained(AllS64Vectors, Ty) ||
is_contained(AllScalarTypes, Ty) || is_contained(AllS16Vectors, Ty);