Use ValueMap instead of DenseMap.
The ValueMapper used by various cloning utility maps MDNodes also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp
index b2581d1..47ac3c5 100644
--- a/tools/bugpoint/Miscompilation.cpp
+++ b/tools/bugpoint/Miscompilation.cpp
@@ -251,10 +251,10 @@
outs() << '\n';
// Split the module into the two halves of the program we want.
- DenseMap<const Value*, Value*> ValueMap;
- Module *ToNotOptimize = CloneModule(BD.getProgram(), ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap);
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize, Funcs,
- ValueMap);
+ VMap);
// Run the predicate, note that the predicate will delete both input modules.
return TestFn(BD, ToOptimize, ToNotOptimize, Error);
@@ -285,11 +285,11 @@
while (1) {
if (BugpointIsInterrupted) return MadeChange;
- DenseMap<const Value*, Value*> ValueMap;
- Module *ToNotOptimize = CloneModule(BD.getProgram(), ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap);
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize,
MiscompiledFunctions,
- ValueMap);
+ VMap);
Module *ToOptimizeLoopExtracted = BD.ExtractLoop(ToOptimize);
if (!ToOptimizeLoopExtracted) {
// If the loop extractor crashed or if there were no extractible loops,
@@ -448,11 +448,11 @@
outs() << '\n';
// Split the module into the two halves of the program we want.
- DenseMap<const Value*, Value*> ValueMap;
- Module *ToNotOptimize = CloneModule(BD.getProgram(), ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ToNotOptimize = CloneModule(BD.getProgram(), VMap);
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize,
FunctionsBeingTested,
- ValueMap);
+ VMap);
// Try the extraction. If it doesn't work, then the block extractor crashed
// or something, in which case bugpoint can't chase down this possibility.
@@ -505,11 +505,11 @@
return false;
}
- DenseMap<const Value*, Value*> ValueMap;
- Module *ProgClone = CloneModule(BD.getProgram(), ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ProgClone = CloneModule(BD.getProgram(), VMap);
Module *ToExtract = SplitFunctionsOutOfModule(ProgClone,
MiscompiledFunctions,
- ValueMap);
+ VMap);
Module *Extracted = BD.ExtractMappedBlocksFromModule(Blocks, ToExtract);
if (Extracted == 0) {
// Weird, extraction should have worked.
@@ -687,11 +687,11 @@
// Output a bunch of bitcode files for the user...
outs() << "Outputting reduced bitcode files which expose the problem:\n";
- DenseMap<const Value*, Value*> ValueMap;
- Module *ToNotOptimize = CloneModule(getProgram(), ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ToNotOptimize = CloneModule(getProgram(), VMap);
Module *ToOptimize = SplitFunctionsOutOfModule(ToNotOptimize,
MiscompiledFunctions,
- ValueMap);
+ VMap);
outs() << " Non-optimized portion: ";
ToNotOptimize = swapProgramIn(ToNotOptimize);
@@ -960,9 +960,9 @@
return true;
// Split the module into the two halves of the program we want.
- DenseMap<const Value*, Value*> ValueMap;
- Module *ToNotCodeGen = CloneModule(getProgram(), ValueMap);
- Module *ToCodeGen = SplitFunctionsOutOfModule(ToNotCodeGen, Funcs, ValueMap);
+ ValueMap<const Value*, Value*> VMap;
+ Module *ToNotCodeGen = CloneModule(getProgram(), VMap);
+ Module *ToCodeGen = SplitFunctionsOutOfModule(ToNotCodeGen, Funcs, VMap);
// Condition the modules
CleanupAndPrepareModules(*this, ToCodeGen, ToNotCodeGen);