LLVM API Documentation
#include <ModuleProvider.h>
Inheritance diagram for llvm::ModuleProvider:
Public Member Functions | |
virtual | ~ModuleProvider () |
Module * | getModule () |
virtual void | materializeFunction (Function *F)=0 |
virtual Module * | materializeModule ()=0 |
virtual Module * | releaseModule () |
Protected Member Functions | |
ModuleProvider () | |
Protected Attributes | |
Module * | TheModule |
Definition at line 26 of file ModuleProvider.h.
ModuleProvider::ModuleProvider | ( | ) | [protected] |
ctor - always have a valid Module
Definition at line 20 of file ModuleProvider.cpp.
ModuleProvider::~ModuleProvider | ( | ) | [virtual] |
dtor - when we leave, we take our Module with us
Definition at line 24 of file ModuleProvider.cpp.
References TheModule.
Module* llvm::ModuleProvider::getModule | ( | ) | [inline] |
getModule - returns the module this provider is encapsulating.
Definition at line 36 of file ModuleProvider.h.
References TheModule.
Referenced by CheckVarargs(), and llvm::JIT::create().
virtual void llvm::ModuleProvider::materializeFunction | ( | Function * | F | ) | [pure virtual] |
materializeFunction - make sure the given function is fully read. Note that this can throw an exception if the module is corrupt!
Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.
Referenced by llvm::JIT::getPointerToFunction(), and llvm::FunctionPassManager::run().
virtual Module* llvm::ModuleProvider::materializeModule | ( | ) | [pure virtual] |
materializeModule - make sure the entire Module has been completely read. Note that this can throw an exception if the module is corrupt!
Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.
Referenced by CheckVarargs(), llvm::Interpreter::create(), llvm::GetBytecodeSymbols(), and releaseModule().
virtual Module* llvm::ModuleProvider::releaseModule | ( | ) | [inline, virtual] |
releaseModule - no longer delete the Module* when provider is destroyed. Note that this can throw an exception if the module is corrupt!
Reimplemented in llvm::BytecodeReader.
Definition at line 51 of file ModuleProvider.h.
References materializeModule(), and TheModule.
Referenced by llvm::BytecodeReader::releaseModule().
Module* llvm::ModuleProvider::TheModule [protected] |
Definition at line 28 of file ModuleProvider.h.
Referenced by llvm::ExistingModuleProvider::ExistingModuleProvider(), getModule(), llvm::BytecodeReader::materializeModule(), llvm::ExistingModuleProvider::materializeModule(), llvm::BytecodeReader::ParseInstruction(), llvm::BytecodeReader::ParseModule(), llvm::BytecodeReader::ParseModuleGlobalInfo(), llvm::BytecodeReader::ParseVersionInfo(), releaseModule(), and ~ModuleProvider().