Support alignment queries for degenerate (length 1) vectors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36352 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Christopher Lamb 2007-04-22 21:54:13 +00:00
parent 007ce3b336
commit a7f0d3ce22

View File

@ -493,9 +493,15 @@ unsigned char TargetData::getAlignment(const Type *Ty, bool abi_or_pref) const {
case Type::DoubleTyID:
AlignType = FLOAT_ALIGN;
break;
case Type::VectorTyID:
AlignType = VECTOR_ALIGN;
case Type::VectorTyID: {
const VectorType *VTy = cast<VectorType>(Ty);
// Degenerate vectors are assumed to be scalar-ized
if (VTy->getNumElements() == 1)
return getAlignment(VTy->getElementType(), abi_or_pref);
else
AlignType = VECTOR_ALIGN;
break;
}
default:
assert(0 && "Bad type for getAlignment!!!");
break;