[llvm] r343277 - [ScalarizeMaskedMemIntrin] Use cast instead of dyn_cast checked by an assert. Consistently make use of the element type variable we already have. NFCI
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 27 15:31:40 PDT 2018
Author: ctopper
Date: Thu Sep 27 15:31:40 2018
New Revision: 343277
URL: http://llvm.org/viewvc/llvm-project?rev=343277&view=rev
Log:
[ScalarizeMaskedMemIntrin] Use cast instead of dyn_cast checked by an assert. Consistently make use of the element type variable we already have. NFCI
cast will take care of asserting internally.
Modified:
llvm/trunk/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
Modified: llvm/trunk/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp?rev=343277&r1=343276&r2=343277&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp (original)
+++ llvm/trunk/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp Thu Sep 27 15:31:40 2018
@@ -116,10 +116,9 @@ static void scalarizeMaskedLoad(CallInst
Value *Src0 = CI->getArgOperand(3);
unsigned AlignVal = cast<ConstantInt>(Alignment)->getZExtValue();
- VectorType *VecType = dyn_cast<VectorType>(CI->getType());
- assert(VecType && "Unexpected return type of masked load intrinsic");
+ VectorType *VecType = cast<VectorType>(CI->getType());
- Type *EltTy = CI->getType()->getVectorElementType();
+ Type *EltTy = VecType->getElementType();
IRBuilder<> Builder(CI->getContext());
Instruction *InsertPt = CI;
@@ -139,7 +138,7 @@ static void scalarizeMaskedLoad(CallInst
}
// Adjust alignment for the scalar instruction.
- AlignVal = std::min(AlignVal, VecType->getScalarSizeInBits() / 8);
+ AlignVal = std::min(AlignVal, EltTy->getPrimitiveSizeInBits() / 8);
// Bitcast %addr fron i8* to EltTy*
Type *NewPtrType =
EltTy->getPointerTo(cast<PointerType>(Ptr->getType())->getAddressSpace());
@@ -244,8 +243,7 @@ static void scalarizeMaskedStore(CallIns
Value *Mask = CI->getArgOperand(3);
unsigned AlignVal = cast<ConstantInt>(Alignment)->getZExtValue();
- VectorType *VecType = dyn_cast<VectorType>(Src->getType());
- assert(VecType && "Unexpected data type in masked store intrinsic");
+ VectorType *VecType = cast<VectorType>(Src->getType());
Type *EltTy = VecType->getElementType();
@@ -263,7 +261,7 @@ static void scalarizeMaskedStore(CallIns
}
// Adjust alignment for the scalar instruction.
- AlignVal = std::max(AlignVal, VecType->getScalarSizeInBits() / 8);
+ AlignVal = std::max(AlignVal, EltTy->getPrimitiveSizeInBits() / 8);
// Bitcast %addr fron i8* to EltTy*
Type *NewPtrType =
EltTy->getPointerTo(cast<PointerType>(Ptr->getType())->getAddressSpace());
@@ -354,9 +352,7 @@ static void scalarizeMaskedGather(CallIn
Value *Mask = CI->getArgOperand(2);
Value *Src0 = CI->getArgOperand(3);
- VectorType *VecType = dyn_cast<VectorType>(CI->getType());
-
- assert(VecType && "Unexpected return type of masked load intrinsic");
+ VectorType *VecType = cast<VectorType>(CI->getType());
IRBuilder<> Builder(CI->getContext());
Instruction *InsertPt = CI;
More information about the llvm-commits
mailing list