micro optimization: isSizedDerivedType is only called with arrays, vectors and structs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196604 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola 2013-12-06 20:12:19 +00:00
parent 08e03ce70f
commit 3221b5bd23

View File

@ -156,18 +156,12 @@ int Type::getFPMantissaWidth() const {
/// iff all of the members of the type are sized as well. Since asking for
/// their size is relatively uncommon, move this operation out of line.
bool Type::isSizedDerivedType() const {
if (this->isIntegerTy())
return true;
if (const ArrayType *ATy = dyn_cast<ArrayType>(this))
return ATy->getElementType()->isSized();
if (const VectorType *VTy = dyn_cast<VectorType>(this))
return VTy->getElementType()->isSized();
if (!this->isStructTy())
return false;
return cast<StructType>(this)->isSized();
}