#include "pt-jit.h"
Public Types | |
typedef unsigned | llvm_gv_linkage |
Public Member Functions | |
jit_function_info (octave_user_function &fcn, const octave_value_list &ov_args) | |
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 |
bool | execute (const octave_value_list &ov_args, octave_value_list &retval) 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 |
bool | match (const octave_value_list &ov_args) const |
void | optimize (llvm::Function *fn) const |
Private Types | |
typedef octave_base_value *(* | jited_function) (octave_base_value **) |
Private Member Functions | |
void | do_add_global_mapping (const llvm::GlobalValue *gv, void *p) const |
Private Attributes | |
std::vector< jit_type * > | m_argument_types |
llvm::ExecutionEngine * | m_engine |
jited_function | m_function |
std::string | m_llvm_function_name |
llvm::Module * | m_module |
|
private |
|
inherited |
octave::jit_function_info::jit_function_info | ( | octave_user_function & | fcn, |
const octave_value_list & | ov_args | ||
) |
Definition at line 2482 of file pt-jit.cc.
References octave::jit_function::argument(), octave_user_code::body(), octave::builder, octave::jit_function::call(), octave::jit_typeinfo::cast(), octave::jit_factory::constants(), octave::jit_convert_llvm::convert_function(), octave::jit_function::do_return(), octave::jit_function::erase(), octave::jit_module::finalizeObject(), octave::jit_typeinfo::get_any(), octave::jit_typeinfo::get_any_ptr(), octave::jit_convert::get_blocks(), octave::jit_infer::get_blocks(), octave::jit_convert::get_factory(), octave::jit_convert::get_variable_map(), octave::jit_module::getFunctionAddress(), octave::jit_infer::infer(), octave::jit_convention::internal, octave::jit_fail_exception::known(), octave::jit_block_list::label(), octave_value_list::length(), m_argument_types, m_function, m_llvm_function_name, octave_function::name(), octave::jit_function::new_block(), octave_stdout, octave::jit_module::optimize(), octave::jit_block_list::print(), octave::jit_function::result(), octave::jit_type::to_llvm(), octave::jit_function::to_llvm(), octave::jit_typeinfo::type_of(), Vdebug_jit, octave::tree_print_code::visit_octave_user_function_header(), octave::tree_print_code::visit_octave_user_function_trailer(), octave::tree_print_code::visit_statement_list(), and Vjit_failcnt.
|
inlineinherited |
Definition at line 557 of file pt-jit.h.
Referenced by octave::jit_typeinfo::jit_typeinfo(), and octave::jit_typeinfo::create_external().
|
inherited |
Definition at line 2381 of file pt-jit.cc.
References octave::jit_module::m_module, and name.
Referenced by octave::jit_typeinfo::jit_typeinfo().
|
inherited |
Definition at line 2359 of file pt-jit.cc.
References octave::jit_module::m_module, and name.
Referenced by octave::jit_function::jit_function(), and octave::jit_convert_llvm::convert_loop().
|
privateinherited |
Definition at line 2390 of file pt-jit.cc.
References octave::jit_module::m_engine.
bool octave::jit_function_info::execute | ( | const octave_value_list & | ov_args, |
octave_value_list & | retval | ||
) | const |
Definition at line 2617 of file pt-jit.cc.
References octave_base_value::grab(), octave_value_list::length(), m_function, octave_value(), and retval.
Referenced by octave::tree_jit::do_execute().
|
inherited |
Definition at line 2475 of file pt-jit.cc.
References octave::jit_module::m_engine.
Referenced by jit_function_info(), octave::jit_typeinfo::jit_typeinfo(), and octave::jit_info::compile().
|
inherited |
Definition at line 2372 of file pt-jit.cc.
References octave::jit_module::m_module.
|
inherited |
Definition at line 2398 of file pt-jit.cc.
References octave::jit_module::m_engine, and name.
Referenced by jit_function_info(), and octave::jit_info::compile().
bool octave::jit_function_info::match | ( | const octave_value_list & | ov_args | ) | const |
Definition at line 2644 of file pt-jit.cc.
References octave_value_list::length(), m_argument_types, m_function, and octave::jit_typeinfo::type_of().
Referenced by octave::tree_jit::do_execute().
|
inherited |
Definition at line 2404 of file pt-jit.cc.
References octave::jit_module::m_module, and Vdebug_jit.
Referenced by jit_function_info(), and octave::jit_info::compile().
|
private |
Definition at line 639 of file pt-jit.h.
Referenced by jit_function_info(), and match().
|
privateinherited |
Definition at line 577 of file pt-jit.h.
Referenced by octave::jit_module::jit_module(), octave::jit_module::~jit_module(), octave::jit_module::do_add_global_mapping(), octave::jit_module::finalizeObject(), and octave::jit_module::getFunctionAddress().
|
private |
Definition at line 637 of file pt-jit.h.
Referenced by jit_function_info(), execute(), and match().
|
private |
Definition at line 636 of file pt-jit.h.
Referenced by jit_function_info().
|
privateinherited |
Definition at line 576 of file pt-jit.h.
Referenced by octave::jit_module::jit_module(), octave::jit_module::create_global_variable(), octave::jit_module::create_llvm_function(), octave::jit_module::get_intrinsic_declaration(), and octave::jit_module::optimize().