make -print-machineinstrs work for both SparcV9 and X86
[oota-llvm.git] / include / llvm / Module.h
index b38269dde027d4aad751012fb5f6eaa3b0bf3df5..bdd72e1c22293e9015e76559b13b4636b4306949 100644 (file)
@@ -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.
@@ -132,7 +154,17 @@ public:
   /// getTypeName - If there is at least one entry in the symbol table for the
   /// specified type, return it.
   ///
-  std::string getTypeName(const Type *Ty);
+  std::string getTypeName(const Type *Ty) const;
+
+  /// getTypeByName - Return the type with the specified name in this module, or
+  /// 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; }
@@ -140,10 +172,6 @@ public:
   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.
   ///