diff options
author | Andrew Lenharth <alenhar2@cs.uiuc.edu> | 2008-03-24 22:16:14 +0000 |
---|---|---|
committer | Andrew Lenharth <alenhar2@cs.uiuc.edu> | 2008-03-24 22:16:14 +0000 |
commit | 7db979944d0020335a72a72a1d182b0f381c2ede (patch) | |
tree | bbc27f7d8533da43eb3fe62bc82ccb2966c149f4 | |
parent | f32c2315205d228b131e9a59e03562c09c6446cd (diff) | |
download | external_llvm-7db979944d0020335a72a72a1d182b0f381c2ede.zip external_llvm-7db979944d0020335a72a72a1d182b0f381c2ede.tar.gz external_llvm-7db979944d0020335a72a72a1d182b0f381c2ede.tar.bz2 |
With debug info, there are nameless constant global values. do not crash when we hit one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48749 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/bugpoint/CrashDebugger.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/bugpoint/CrashDebugger.cpp b/tools/bugpoint/CrashDebugger.cpp index 2257873..419e1f1 100644 --- a/tools/bugpoint/CrashDebugger.cpp +++ b/tools/bugpoint/CrashDebugger.cpp @@ -125,13 +125,14 @@ bool ReduceCrashingGlobalVariables::TestGlobalVariables( std::vector<GlobalVariable*>& GVs) { // Clone the program to try hacking it apart... - Module *M = CloneModule(BD.getProgram()); + DenseMap<const Value*, Value*> ValueMap; + Module *M = CloneModule(BD.getProgram(), ValueMap); // Convert list to set for fast lookup... std::set<GlobalVariable*> GVSet; for (unsigned i = 0, e = GVs.size(); i != e; ++i) { - GlobalVariable* CMGV = M->getNamedGlobal(GVs[i]->getName()); + GlobalVariable* CMGV = cast<GlobalVariable>(ValueMap[GVs[i]]); assert(CMGV && "Global Variable not in module?!"); GVSet.insert(CMGV); } |