From 3f804530c737b74a7417c215ac32f76c4672e370 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 31 Dec 2003 08:42:27 +0000 Subject: [PATCH] Add some comments, add a new getGlobalVariable method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10670 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Module.h | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/include/llvm/Module.h b/include/llvm/Module.h index 2e448e60459..bdd72e1c222 100644 --- a/include/llvm/Module.h +++ b/include/llvm/Module.h @@ -95,6 +95,10 @@ public: PointerSize getPointerSize() const { return PtrSize; } void setPointerSize(PointerSize PS) { PtrSize = PS; } + //===--------------------------------------------------------------------===// + // Methods for easy access to the functions in the module. + // + /// getOrInsertFunction - Look up the specified function in the module symbol /// table. If it does not exist, add a prototype for the function and return /// it. @@ -123,6 +127,24 @@ public: /// Function *getNamedFunction(const std::string &Name); + //===--------------------------------------------------------------------===// + // Methods for easy access to the global variables in the module. + // + + /// getGlobalVariable - Look up the specified global variable in the module + /// symbol table. If it does not exist, return null. Note that this only + /// returns a global variable if it does not have internal linkage. The type + /// argument should be the underlying type of the global, ie, it should not + /// have the top-level PointerType, which represents the address of the + /// global. + /// + GlobalVariable *getGlobalVariable(const std::string &Name, const Type *Ty); + + + //===--------------------------------------------------------------------===// + // Methods for easy access to the types in the module. + // + /// addTypeName - Insert an entry in the symbol table mapping Str to Type. If /// there is already an entry for this name, true is returned and the symbol /// table is not modified. @@ -138,16 +160,18 @@ public: /// null if there is none by that name. const Type *getTypeByName(const std::string &Name) const; + + //===--------------------------------------------------------------------===// + // Methods for direct access to the globals list, functions list, and symbol + // table. + // + /// Get the underlying elements of the Module... inline const GlobalListType &getGlobalList() const { return GlobalList; } inline GlobalListType &getGlobalList() { return GlobalList; } inline const FunctionListType &getFunctionList() const { return FunctionList;} inline FunctionListType &getFunctionList() { return FunctionList;} - - //===--------------------------------------------------------------------===// - // Symbol table support functions... - /// getSymbolTable() - Get access to the symbol table for the module, where /// global variables and functions are identified. ///