Add getOrInsertFunction and getFunction methods to Module. This simplifies
authorChris Lattner <sabre@nondot.org>
Fri, 29 Mar 2002 03:32:29 +0000 (03:32 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 29 Mar 2002 03:32:29 +0000 (03:32 +0000)
some code in the transformations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2026 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Module.h

index d7d9240f3aca47d77e556856b6db7f358295d73a..a2a8e507285ee15f41c7e7c804b3fac97908e882 100644 (file)
@@ -18,6 +18,7 @@
 class GlobalVariable;
 class GlobalValueRefMap;   // Used by ConstantVals.cpp
 class ConstantPointerRef;
+class FunctionType;
 
 class Module : public Value, public SymTabValue {
 public:
@@ -52,6 +53,16 @@ public:
   Module();
   ~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.
+  Function *getOrInsertFunction(const std::string &Name, const FunctionType *T);
+
+  // getFunction - Look up the specified function in the module symbol table.
+  // If it does not exist, return null.
+  //
+  Function *getFunction(const std::string &Name, const FunctionType *Ty);
+
   // Get the underlying elements of the Module...
   inline const GlobalListType &getGlobalList() const  { return GlobalList; }
   inline       GlobalListType &getGlobalList()        { return GlobalList; }