mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-11 13:44:28 +00:00
Use isSingleValueType instead of isFirstClassType to
exclude struct and array types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51456 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5bbaf01b84
commit
31e5bdccf2
@ -339,7 +339,7 @@ bool SRETPromotion::nestedStructType(const StructType *STy) {
|
||||
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;
|
||||
|
@ -643,7 +643,7 @@ void SROA::RewriteBitCastUserOfAlloca(Instruction *BCInst, AllocationInst *AI,
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user