diff options
Diffstat (limited to 'lib/Analysis/DataStructure/TopDownClosure.cpp')
-rw-r--r-- | lib/Analysis/DataStructure/TopDownClosure.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Analysis/DataStructure/TopDownClosure.cpp b/lib/Analysis/DataStructure/TopDownClosure.cpp index 45b2f2b4d2..e44cea1d8e 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<GlobalVariable>(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(); } |