diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp index 764cda69e36..080d8115ff9 100644 --- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp +++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp @@ -433,6 +433,8 @@ static bool MergeInType(const Type *In, const Type *&Accum, const PackedType *PTy; if (Accum == Type::VoidTy || In == Accum) { Accum = In; + } else if (In == Type::VoidTy) { + // Noop. } else if (In->isIntegral() && Accum->isIntegral()) { // integer union. // Otherwise pick whichever type is larger. if (In->getTypeID() > Accum->getTypeID())