#include "pt-jit.h"
Public Types | |
typedef unsigned | llvm_gv_linkage |
Public Member Functions | |
jit_module (const std::string &module_name=tree_jit::generate_unique_module_name()) | |
~jit_module () | |
template<typename ptr_type > | |
void | add_global_mapping (const llvm::GlobalValue *gv, ptr_type p) const |
llvm::GlobalVariable * | create_global_variable (llvm::Type *type, bool is_constant, const llvm::Twine &name) const |
llvm::Function * | create_llvm_function (llvm::FunctionType *ftype, const llvm::Twine &name) const |
void | finalizeObject (void) |
llvm::Function * | get_intrinsic_declaration (size_t id, std::vector< llvm::Type * > types) const |
uint64_t | getFunctionAddress (const std::string &name) const |
void | optimize (llvm::Function *fn) const |
Private Member Functions | |
void | do_add_global_mapping (const llvm::GlobalValue *gv, void *p) const |
Private Attributes | |
llvm::ExecutionEngine * | m_engine |
llvm::Module * | m_module |
typedef unsigned octave::jit_module::llvm_gv_linkage |
octave::jit_module::jit_module | ( | const std::string & | module_name = tree_jit::generate_unique_module_name () | ) |
Definition at line 2328 of file pt-jit.cc.
References octave::tree_jit::create_new_engine(), m_engine, m_module, octave::tree_jit::open_new_module(), and octave::tree_jit::register_jit_module().
octave::jit_module::~jit_module | ( | ) |
Definition at line 2350 of file pt-jit.cc.
References m_engine, and octave::tree_jit::unregister_jit_module().
|
inline |
Definition at line 557 of file pt-jit.h.
Referenced by octave::jit_typeinfo::jit_typeinfo(), and octave::jit_typeinfo::create_external().
llvm::GlobalVariable * octave::jit_module::create_global_variable | ( | llvm::Type * | type, |
bool | is_constant, | ||
const llvm::Twine & | name | ||
) | const |
Definition at line 2381 of file pt-jit.cc.
References m_module, and name.
Referenced by octave::jit_typeinfo::jit_typeinfo().
llvm::Function * octave::jit_module::create_llvm_function | ( | llvm::FunctionType * | ftype, |
const llvm::Twine & | name | ||
) | const |
Definition at line 2359 of file pt-jit.cc.
References m_module, and name.
Referenced by octave::jit_function::jit_function(), and octave::jit_convert_llvm::convert_loop().
|
private |
void octave::jit_module::finalizeObject | ( | void | ) |
Definition at line 2475 of file pt-jit.cc.
References m_engine.
Referenced by octave::jit_function_info::jit_function_info(), octave::jit_typeinfo::jit_typeinfo(), and octave::jit_info::compile().
llvm::Function * octave::jit_module::get_intrinsic_declaration | ( | size_t | id, |
std::vector< llvm::Type * > | types | ||
) | const |
uint64_t octave::jit_module::getFunctionAddress | ( | const std::string & | name | ) | const |
Definition at line 2398 of file pt-jit.cc.
References m_engine, and name.
Referenced by octave::jit_function_info::jit_function_info(), and octave::jit_info::compile().
void octave::jit_module::optimize | ( | llvm::Function * | fn | ) | const |
Definition at line 2404 of file pt-jit.cc.
References m_module, and Vdebug_jit.
Referenced by octave::jit_function_info::jit_function_info(), and octave::jit_info::compile().
|
private |
Definition at line 577 of file pt-jit.h.
Referenced by jit_module(), ~jit_module(), do_add_global_mapping(), finalizeObject(), and getFunctionAddress().
|
private |
Definition at line 576 of file pt-jit.h.
Referenced by jit_module(), create_global_variable(), create_llvm_function(), get_intrinsic_declaration(), and optimize().