1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Clean up usages of asserting vector getters in Type

Summary:
Remove usages of asserting vector getters in Type in preparation for the
VectorType refactor. The existence of these functions complicates the
refactor while adding little value.

Reviewers: espindola, efriedma, sdesmalen

Reviewed By: efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77275
This commit is contained in:
Christopher Tetreault 2020-04-08 16:17:08 -07:00
parent d97ff204e5
commit 947d457238

View File

@ -4168,7 +4168,7 @@ Error BitcodeReader::parseFunctionBody(Function *F) {
if (!Vec->getType()->isVectorTy())
return error("Invalid type for value");
I = ExtractElementInst::Create(Vec, Idx);
FullTy = FullTy->getVectorElementType();
FullTy = cast<VectorType>(FullTy)->getElementType();
InstructionList.push_back(I);
break;
}
@ -4202,8 +4202,9 @@ Error BitcodeReader::parseFunctionBody(Function *F) {
return error("Invalid type for value");
I = new ShuffleVectorInst(Vec1, Vec2, Mask);
FullTy = VectorType::get(FullTy->getVectorElementType(),
Mask->getType()->getVectorElementCount());
FullTy =
VectorType::get(cast<VectorType>(FullTy)->getElementType(),
cast<VectorType>(Mask->getType())->getElementCount());
InstructionList.push_back(I);
break;
}
@ -5195,8 +5196,8 @@ Error BitcodeReader::parseFunctionBody(Function *F) {
!FullTy->isPointerTy() && !isa<StructType>(FullTy) &&
!isa<ArrayType>(FullTy) &&
(!isa<VectorType>(FullTy) ||
FullTy->getVectorElementType()->isFloatingPointTy() ||
FullTy->getVectorElementType()->isIntegerTy()) &&
cast<VectorType>(FullTy)->getElementType()->isFloatingPointTy() ||
cast<VectorType>(FullTy)->getElementType()->isIntegerTy()) &&
"Structured types must be assigned with corresponding non-opaque "
"pointer type");
}