From: Chris Lattner Date: Tue, 24 Jan 2006 19:36:27 +0000 (+0000) Subject: Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=15256cb14ef340235122750a8d7a6b18baf62ef0;p=oota-llvm.git Fix Regression/Transforms/ScalarRepl/2006-01-24-IllegalUnionPromoteCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25587 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp index be82c38c4a2..001f3a57328 100644 --- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp +++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp @@ -554,9 +554,7 @@ void SROA::ConvertUsesToScalar(Value *Ptr, AllocaInst *NewAI, unsigned Offset) { // Convert the stored type to the actual type, shift it left to insert // then 'or' into place. Value *SV = SI->getOperand(0); - if (SV->getType() == NewAI->getType()->getElementType()) { - assert(Offset == 0 && "Store out of bounds!"); - } else { + if (SV->getType() != NewAI->getType()->getElementType() || Offset != 0) { Value *Old = new LoadInst(NewAI, NewAI->getName()+".in", SI); // If SV is signed, convert it to unsigned, so that the next cast zero // extends the value.