diff --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h --- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h +++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h @@ -1214,8 +1214,8 @@ if (RetTy->isVectorTy()) { if (ScalarizationCostPassed == std::numeric_limits::max()) ScalarizationCost = getScalarizationOverhead(RetTy, true, false); - ScalarCalls = std::max( - ScalarCalls, (unsigned)cast(RetTy)->getNumElements()); + ScalarCalls = + std::max(ScalarCalls, cast(RetTy)->getNumElements()); ScalarRetTy = RetTy->getScalarType(); } SmallVector ScalarTys; @@ -1224,8 +1224,8 @@ if (Ty->isVectorTy()) { if (ScalarizationCostPassed == std::numeric_limits::max()) ScalarizationCost += getScalarizationOverhead(Ty, false, true); - ScalarCalls = std::max( - ScalarCalls, (unsigned)cast(Ty)->getNumElements()); + ScalarCalls = + std::max(ScalarCalls, cast(Ty)->getNumElements()); Ty = Ty->getScalarType(); } ScalarTys.push_back(Ty); @@ -1572,8 +1572,7 @@ if (ScalarizationCostPassed == std::numeric_limits::max()) ScalarizationCost += getScalarizationOverhead(Tys[i], false, true); ScalarCalls = - std::max(ScalarCalls, - (unsigned)cast(Tys[i])->getNumElements()); + std::max(ScalarCalls, cast(Tys[i])->getNumElements()); } } diff --git a/llvm/include/llvm/IR/DerivedTypes.h b/llvm/include/llvm/IR/DerivedTypes.h --- a/llvm/include/llvm/IR/DerivedTypes.h +++ b/llvm/include/llvm/IR/DerivedTypes.h @@ -420,7 +420,7 @@ /// For scalable vectors, this will return the minimum number of elements /// in the vector. - uint64_t getNumElements() const { return NumElements; } + unsigned getNumElements() const { return NumElements; } Type *getElementType() const { return ContainedType; } /// This static method is the primary way to construct an VectorType. diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp --- a/llvm/lib/IR/Function.cpp +++ b/llvm/lib/IR/Function.cpp @@ -1075,8 +1075,7 @@ return Tys[D.getOverloadArgNumber()]; case IITDescriptor::ScalableVecArgument: { auto *Ty = cast(DecodeFixedType(Infos, Tys, Context)); - return VectorType::get(Ty->getElementType(), - {(unsigned)Ty->getNumElements(), true}); + return VectorType::get(Ty->getElementType(), {Ty->getNumElements(), true}); } } llvm_unreachable("unhandled"); diff --git a/mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp b/mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp --- a/mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp +++ b/mlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp @@ -1802,10 +1802,10 @@ op, operands, typeConverter, [&](LLVM::LLVMType llvmVectorTy, ValueRange operands) { auto splatAttr = SplatElementsAttr::get( - mlir::VectorType::get({(unsigned)cast( - llvmVectorTy.getUnderlyingType()) - ->getNumElements()}, - floatType), + mlir::VectorType::get( + {cast(llvmVectorTy.getUnderlyingType()) + ->getNumElements()}, + floatType), floatOne); auto one = rewriter.create(loc, llvmVectorTy, splatAttr);