diff options
-rw-r--r-- | include/llvm/Function.h | 5 | ||||
-rw-r--r-- | lib/VMCore/Function.cpp | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/Function.h b/include/llvm/Function.h index 228ef9440e..34ced973dd 100644 --- a/include/llvm/Function.h +++ b/include/llvm/Function.h @@ -27,6 +27,7 @@ namespace llvm { class FunctionType; +class LLVMContext; // Traits for intrusive list of basic blocks... template<> struct ilist_traits<BasicBlock> @@ -126,6 +127,10 @@ public: const Type *getReturnType() const; // Return the type of the ret val const FunctionType *getFunctionType() const; // Return the FunctionType for me + /// getContext - Return a pointer to the LLVMContext associated with this + /// function, or NULL if this function is not bound to a context yet. + LLVMContext* getContext(); + /// isVarArg - Return true if this function takes a variable number of /// arguments. bool isVarArg() const; diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index 045056643b..eeade051ac 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -114,6 +114,12 @@ void Argument::removeAttr(Attributes attr) { // Helper Methods in Function //===----------------------------------------------------------------------===// +LLVMContext* Function::getContext() { + Module* M = getParent(); + if (M) return &M->getContext(); + return 0; +} + const FunctionType *Function::getFunctionType() const { return cast<FunctionType>(getType()->getElementType()); } |