From 4b94d2597d14db78bc0f3296f4f63b33d61621e0 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 31 Jan 2019 18:01:49 +0000 Subject: GlobalISel: Fix handling of vectors of pointers in clamp{Min,Max}NumElements This avoids hitting the assert added in r352636 in a future commit. llvm-svn: 352777 --- llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'llvm/include') diff --git a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h index 393af1529f0..17acfc2c3c7 100644 --- a/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h @@ -712,7 +712,7 @@ public: [=](const LegalityQuery &Query) { LLT VecTy = Query.Types[TypeIdx]; return std::make_pair( - TypeIdx, LLT::vector(MinElements, VecTy.getScalarSizeInBits())); + TypeIdx, LLT::vector(MinElements, VecTy.getElementType())); }); } /// Limit the number of elements in EltTy vectors to at most MaxElements. @@ -729,10 +729,8 @@ public: }, [=](const LegalityQuery &Query) { LLT VecTy = Query.Types[TypeIdx]; - if (MaxElements == 1) - return std::make_pair(TypeIdx, VecTy.getElementType()); - return std::make_pair( - TypeIdx, LLT::vector(MaxElements, VecTy.getScalarSizeInBits())); + LLT NewTy = LLT::scalarOrVector(MaxElements, VecTy.getElementType()); + return std::make_pair(TypeIdx, NewTy); }); } /// Limit the number of elements for the given vectors to at least MinTy's -- cgit v1.2.3