For PR411:

This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2007-02-05 20:47:22 +00:00
parent 15468bfc22
commit ef9b9a7939
74 changed files with 1569 additions and 2340 deletions

View File

@ -181,16 +181,14 @@ public:
virtual void handleCompactionTableEnd() {}
/// @brief Handle start of a symbol table
virtual void handleSymbolTableBegin(
Function* Func, ///< The function to which the ST belongs
SymbolTable* ST ///< The symbol table being filled
virtual void handleTypeSymbolTableBegin(
TypeSymbolTable* ST ///< The symbol table being filled
) {}
/// @brief Handle start of a symbol table plane
virtual void handleSymbolTablePlane(
unsigned TySlot, ///< The slotnum of the type plane
unsigned NumEntries, ///< Number of entries in the plane
const Type* Typ ///< The type of this type plane
/// @brief Handle start of a symbol table
virtual void handleValueSymbolTableBegin(
Function* Func, ///< The function to which the ST belongs or 0 for Mod
ValueSymbolTable* ST ///< The symbol table being filled
) {}
/// @brief Handle a named type in the symbol table
@ -207,8 +205,11 @@ public:
const std::string& name ///< Name of the value.
) {}
/// @brief Handle the end of a symbol table
virtual void handleSymbolTableEnd() {}
/// @brief Handle the end of a value symbol table
virtual void handleTypeSymbolTableEnd() {}
/// @brief Handle the end of a type symbol table
virtual void handleValueSymbolTableEnd() {}
/// @brief Handle the beginning of a function body
virtual void handleFunctionBegin(
@ -233,6 +234,7 @@ public:
unsigned Opcode, ///< Opcode of the instruction
const Type* iType, ///< Instruction type
std::vector<unsigned>& Operands, ///< Vector of slot # operands
Instruction *Inst, ///< The resulting instruction
unsigned Length ///< Length of instruction in bc bytes
) { return false; }