[llvm-commits] CVS: llvm/tools/llvm2cpp/CppWriter.cpp

Reid Spencer reid at x10sys.com
Fri Jan 5 23:25:20 PST 2007



Changes in directory llvm/tools/llvm2cpp:

CppWriter.cpp updated: 1.27 -> 1.28
---
Log message:

For PR411: http://llvm.org/PR411 :
Take an incremental step towards type plane elimination. This change 
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.


---
Diffs of the changes:  (+9 -8)

 CppWriter.cpp |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)


Index: llvm/tools/llvm2cpp/CppWriter.cpp
diff -u llvm/tools/llvm2cpp/CppWriter.cpp:1.27 llvm/tools/llvm2cpp/CppWriter.cpp:1.28
--- llvm/tools/llvm2cpp/CppWriter.cpp:1.27	Sun Dec 31 00:02:26 2006
+++ llvm/tools/llvm2cpp/CppWriter.cpp	Sat Jan  6 01:24:44 2007
@@ -20,6 +20,7 @@
 #include "llvm/Instructions.h"
 #include "llvm/Module.h"
 #include "llvm/SymbolTable.h"
+#include "llvm/TypeSymbolTable.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/CommandLine.h"
@@ -189,10 +190,10 @@
 // Mode::getTypeName function which will return an empty string, not a null
 // pointer if the name is not found.
 inline const std::string* 
-findTypeName(const SymbolTable& ST, const Type* Ty)
+findTypeName(const TypeSymbolTable& ST, const Type* Ty)
 {
-  SymbolTable::type_const_iterator TI = ST.type_begin();
-  SymbolTable::type_const_iterator TE = ST.type_end();
+  TypeSymbolTable::const_iterator TI = ST.begin();
+  TypeSymbolTable::const_iterator TE = ST.end();
   for (;TI != TE; ++TI)
     if (TI->second == Ty)
       return &(TI->first);
@@ -348,7 +349,7 @@
   }
 
   // See if the type has a name in the symboltable and build accordingly
-  const std::string* tName = findTypeName(TheModule->getSymbolTable(), Ty);
+  const std::string* tName = findTypeName(TheModule->getTypeSymbolTable(), Ty);
   std::string name;
   if (tName) 
     name = std::string(prefix) + *tName;
@@ -539,7 +540,7 @@
 
   // If the type had a name, make sure we recreate it.
   const std::string* progTypeName = 
-    findTypeName(TheModule->getSymbolTable(),Ty);
+    findTypeName(TheModule->getTypeSymbolTable(),Ty);
   if (progTypeName)
     Out << "mod->addTypeName(\"" << *progTypeName << "\", " 
         << typeName << ");";
@@ -596,9 +597,9 @@
 CppWriter::printTypes(const Module* M) {
 
   // Walk the symbol table and print out all its types
-  const SymbolTable& symtab = M->getSymbolTable();
-  for (SymbolTable::type_const_iterator TI = symtab.type_begin(), 
-       TE = symtab.type_end(); TI != TE; ++TI) {
+  const TypeSymbolTable& symtab = M->getTypeSymbolTable();
+  for (TypeSymbolTable::const_iterator TI = symtab.begin(), TE = symtab.end(); 
+       TI != TE; ++TI) {
 
     // For primitive types and types already defined, just add a name
     TypeMap::const_iterator TNI = TypeNames.find(TI->second);






More information about the llvm-commits mailing list