#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 Attributes | |
std::vector< jit_type * > | m_argument_types |
jited_function | m_function |
std::string | m_llvm_function_name |
|
private |
|
inherited |
octave::jit_function_info::jit_function_info | ( | octave_user_function & | fcn, |
const octave_value_list & | ov_args | ||
) |
Definition at line 2502 of file pt-jit.cc.
References arg, octave::jit_function::argument(), 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(), e, octave::jit_function::erase(), fcn, octave::jit_module::finalizeObject(), octave::jit_typeinfo::get_any(), octave::jit_typeinfo::get_any_ptr(), octave::jit_convert::get_blocks(), octave::jit_convert::get_factory(), octave::jit_convert::get_variable_map(), octave::jit_module::getFunctionAddress(), i, octave::jit_infer::infer(), octave::jit_convention::internal, 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::jit_module::optimize(), octave::jit_block_list::print(), octave::jit_function::result(), 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(), Vjit_failcnt, and zero().
|
inlineinherited |
Definition at line 561 of file pt-jit.h.
References p.
Referenced by octave::jit_typeinfo::create_external(), and octave::jit_typeinfo::jit_typeinfo().
|
inherited |
Definition at line 2405 of file pt-jit.cc.
References octave::jit_module::m_module, name, and type.
Referenced by octave::jit_typeinfo::jit_typeinfo().
|
inherited |
Definition at line 2383 of file pt-jit.cc.
References octave::jit_module::m_module, and name.
Referenced by octave::jit_convert_llvm::convert_loop(), and octave::jit_function::jit_function().
bool octave::jit_function_info::execute | ( | const octave_value_list & | ov_args, |
octave_value_list & | retval | ||
) | const |
Definition at line 2637 of file pt-jit.cc.
References octave_base_value::grab(), i, octave_value_list::length(), m_function, octave_value(), and retval.
Referenced by octave::tree_jit::do_execute().
|
inherited |
Definition at line 2495 of file pt-jit.cc.
References octave::jit_module::m_engine.
Referenced by octave::jit_info::compile(), jit_function_info(), and octave::jit_typeinfo::jit_typeinfo().
|
inherited |
Definition at line 2396 of file pt-jit.cc.
References octave::jit_module::m_module.
|
inherited |
Definition at line 2422 of file pt-jit.cc.
References octave::jit_module::m_engine, and name.
Referenced by octave::jit_info::compile(), and jit_function_info().
bool octave::jit_function_info::match | ( | const octave_value_list & | ov_args | ) | const |
Definition at line 2664 of file pt-jit.cc.
References i, 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 2428 of file pt-jit.cc.
References octave::jit_module::m_module, and Vdebug_jit.
Referenced by octave::jit_info::compile(), and jit_function_info().
|
private |
Definition at line 643 of file pt-jit.h.
Referenced by jit_function_info(), and match().
|
private |
Definition at line 641 of file pt-jit.h.
Referenced by execute(), jit_function_info(), and match().
|
private |
Definition at line 640 of file pt-jit.h.
Referenced by jit_function_info().