diff options
author | Owen Anderson <resistor@mac.com> | 2009-07-02 18:03:58 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-07-02 18:03:58 +0000 |
commit | 62fabf5faba70c507c8fbe298260e9b3749fdd79 (patch) | |
tree | a01aafdaf0aa1c54e48b4f3d0ef9f8469f60bdc5 | |
parent | 7c07f3ae8dd3ac5d6a2ac52c96cf41178b6ab396 (diff) |
Add an accessor to Function so that Passes can easily get access to the context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74714 91177308-0d34-0410-b5e6-96231b3b80d8
-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()); } |