[llvm-commits] CVS: llvm/lib/Transforms/Utils/CloneModule.cpp
Chris Lattner
lattner at cs.uiuc.edu
Wed Jan 18 13:32:57 PST 2006
Changes in directory llvm/lib/Transforms/Utils:
CloneModule.cpp updated: 1.14 -> 1.15
---
Log message:
Make sure that cloning a module clones its target triple and dependent
library list as well. This should help bugpoint.
---
Diffs of the changes: (+7 -3)
CloneModule.cpp | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
Index: llvm/lib/Transforms/Utils/CloneModule.cpp
diff -u llvm/lib/Transforms/Utils/CloneModule.cpp:1.14 llvm/lib/Transforms/Utils/CloneModule.cpp:1.15
--- llvm/lib/Transforms/Utils/CloneModule.cpp:1.14 Wed Jul 27 01:12:34 2005
+++ llvm/lib/Transforms/Utils/CloneModule.cpp Wed Jan 18 15:32:45 2006
@@ -30,14 +30,18 @@
Module *New = new Module(M->getModuleIdentifier());
New->setEndianness(M->getEndianness());
New->setPointerSize(M->getPointerSize());
+ New->setTargetTriple(M->getTargetTriple());
- // Copy all of the type symbol table entries over...
+ // Copy all of the type symbol table entries over.
const SymbolTable &SymTab = M->getSymbolTable();
SymbolTable::type_const_iterator TypeI = SymTab.type_begin();
SymbolTable::type_const_iterator TypeE = SymTab.type_end();
- for ( ; TypeI != TypeE; ++TypeI ) {
+ for (; TypeI != TypeE; ++TypeI)
New->addTypeName(TypeI->first, TypeI->second);
- }
+
+ // Copy all of the dependent libraries over.
+ for (Module::lib_iterator I = M->lib_begin(), E = M->lib_end(); I != E; ++I)
+ New->addLibrary(*I);
// Create the value map that maps things from the old module over to the new
// module.
More information about the llvm-commits
mailing list