LLVM API Documentation
#include <ModuleProvider.h>
Inheritance diagram for llvm::ModuleProvider:
Public Member Functions | |
virtual | ~ModuleProvider () |
Module * | getModule () |
virtual bool | materializeFunction (Function *F, std::string *ErrInfo=0)=0 |
virtual Module * | materializeModule (std::string *ErrInfo=0)=0 |
virtual Module * | releaseModule (std::string *ErrInfo=0) |
Protected Member Functions | |
ModuleProvider () | |
Protected Attributes | |
Module * | TheModule |
Definition at line 28 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 38 of file ModuleProvider.h.
References TheModule.
Referenced by CheckVarargs(), and llvm::JIT::create().
virtual bool llvm::ModuleProvider::materializeFunction | ( | Function * | F, | |
std::string * | ErrInfo = 0 | |||
) | [pure virtual] |
materializeFunction - make sure the given function is fully read. If the module is corrupt, this returns true and fills in the optional string with information about the problem. If successful, this returns false.
Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.
Referenced by llvm::JIT::getPointerToFunction(), and llvm::FunctionPassManager::run().
virtual Module* llvm::ModuleProvider::materializeModule | ( | std::string * | ErrInfo = 0 |
) | [pure virtual] |
materializeModule - make sure the entire Module has been completely read. On error, return null and fill in the error string if specified.
Implemented in llvm::ExistingModuleProvider, and llvm::BytecodeReader.
Referenced by CheckVarargs(), llvm::Interpreter::create(), llvm::GetBytecodeSymbols(), and releaseModule().
virtual Module* llvm::ModuleProvider::releaseModule | ( | std::string * | ErrInfo = 0 |
) | [inline, virtual] |
releaseModule - no longer delete the Module* when provider is destroyed. On error, return null and fill in the error string if specified.
Reimplemented in llvm::BytecodeReader.
Definition at line 54 of file ModuleProvider.h.
References materializeModule(), and TheModule.
Referenced by llvm::BytecodeReader::releaseModule().
Module* llvm::ModuleProvider::TheModule [protected] |
Definition at line 30 of file ModuleProvider.h.
Referenced by llvm::ExistingModuleProvider::ExistingModuleProvider(), getModule(), llvm::BytecodeReader::materializeModule(), llvm::ExistingModuleProvider::materializeModule(), llvm::BytecodeReader::ParseBytecode(), llvm::BytecodeReader::ParseInstruction(), llvm::BytecodeReader::ParseModule(), llvm::BytecodeReader::ParseModuleGlobalInfo(), llvm::BytecodeReader::ParseVersionInfo(), releaseModule(), and ~ModuleProvider().