X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FSymbolTable.h;h=8085101204be1cea4adb9d8a04cdb19100eacce6;hb=d80e973cec7e30839530d94f84748d99b03b0d9e;hp=e425e88d0d214fb543a41efbd186d81010d12ffc;hpb=697954c15da58bd8b186dbafdedd8b06db770201;p=oota-llvm.git diff --git a/include/llvm/SymbolTable.h b/include/llvm/SymbolTable.h index e425e88d0d2..8085101204b 100644 --- a/include/llvm/SymbolTable.h +++ b/include/llvm/SymbolTable.h @@ -1,4 +1,4 @@ -//===-- llvm/SymbolTable.h - Implement a type planned symtab ------*- C++ -*-=// +//===-- llvm/SymbolTable.h - Implement a type plane'd symtab ------*- C++ -*-=// // // This file implements a symbol table that has planed broken up by type. // Identical types may have overlapping symbol names as long as they are @@ -17,15 +17,10 @@ #define LLVM_SYMBOL_TABLE_H #include "llvm/Value.h" +#include "llvm/Type.h" // FIXME: Remove +#include "llvm/ConstantVals.h" // FIXME: Remove #include -#ifndef NDEBUG // Only for assertions -#include "llvm/Type.h" -#include "llvm/ConstantVals.h" -#endif - -class Type; - class SymbolTable : public AbstractTypeUser, public std::map > { @@ -54,6 +49,11 @@ public: // lookup - Returns null on failure... Value *lookup(const Type *Ty, const std::string &name); + // localLookup - Look in this symbol table without falling back on parent, + // if non-existing. Returns null on failure... + // + Value *localLookup(const Type *Ty, const std::string &name); + // insert - Add named definition to the symbol table... inline void insert(Value *N) { assert(N->hasName() && "Value must be named to go into symbol table!");