From: Chris Lattner Date: Thu, 24 Mar 2005 04:22:04 +0000 (+0000) Subject: Fix a crash while promoting a value out of a loop from a global variable X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c5132e65a6c198eac00591e13116042cee879c3f;p=oota-llvm.git Fix a crash while promoting a value out of a loop from a global variable when using ds-aa git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20802 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/DataStructure/BottomUpClosure.cpp b/lib/Analysis/DataStructure/BottomUpClosure.cpp index 640463db301..5dcaa31dca2 100644 --- a/lib/Analysis/DataStructure/BottomUpClosure.cpp +++ b/lib/Analysis/DataStructure/BottomUpClosure.cpp @@ -527,5 +527,14 @@ void BUDataStructures::copyValue(Value *From, Value *To) { return; } - assert(!isa(From) && "Do not know how to copy GV's yet!"); + if (const Function *F = getFnForValue(To)) { + DSGraph &G = getDSGraph(*F); + G.getScalarMap().copyScalarIfExists(From, To); + return; + } + + std::cerr << *From; + std::cerr << *To; + assert(0 && "Do not know how to copy this yet!"); + abort(); } diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp index 45b2f2b4d2d..e44cea1d8e1 100644 --- a/lib/Analysis/DataStructure/TopDownClosure.cpp +++ b/lib/Analysis/DataStructure/TopDownClosure.cpp @@ -468,5 +468,14 @@ void TDDataStructures::copyValue(Value *From, Value *To) { return; } - assert(!isa(From) && "Do not know how to copy GV's yet!"); + if (const Function *F = getFnForValue(To)) { + DSGraph &G = getDSGraph(*F); + G.getScalarMap().copyScalarIfExists(From, To); + return; + } + + std::cerr << *From; + std::cerr << *To; + assert(0 && "Do not know how to copy this yet!"); + abort(); }