exclude struct and array types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51456
91177308-0d34-0410-b5e6-
96231b3b80d8
unsigned Num = STy->getNumElements();
for (unsigned i = 0; i < Num; i++) {
const Type *Ty = STy->getElementType(i);
- if (!Ty->isFirstClassType() && Ty != Type::VoidTy)
+ if (!Ty->isSingleValueType() && Ty != Type::VoidTy)
return true;
}
return false;
const Type *EltTy =cast<PointerType>(EltPtr->getType())->getElementType();
// If we got down to a scalar, insert a load or store as appropriate.
- if (EltTy->isFirstClassType()) {
+ if (EltTy->isSingleValueType()) {
if (isa<MemCpyInst>(MI) || isa<MemMoveInst>(MI)) {
Value *Elt = new LoadInst(SROADest ? OtherElt : EltPtr, "tmp",
MI);