#include "pt-jit.h"
Public Types | |
typedef unsigned | llvm_gv_linkage |
typedef std::map< std::string, const octave_value * > | vmap |
Public Member Functions | |
jit_info (tree &tee) | |
jit_info (tree &tee, const octave_value &for_bounds) | |
jit_info (tree_simple_for_command &tee, const octave_value &for_bounds) | |
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 vmap &extra_vars=vmap()) 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 vmap &extra_vars=vmap()) const |
void | optimize (llvm::Function *fn) const |
Private Types | |
typedef void(* | jited_function) (octave_base_value **) |
typedef jit_convert::type_bound | type_bound |
typedef jit_convert::type_bound_vector | type_bound_vector |
Private Member Functions | |
void | compile (tree &tee, jit_type *for_bounds=0) |
octave_value | find (const vmap &extra_vars, const std::string &vname) const |
Private Attributes | |
std::vector< std::pair< std::string, bool > > | m_arguments |
type_bound_vector | m_bounds |
jited_function | m_function |
std::string | m_llvm_function_name |
|
private |
|
inherited |
|
private |
|
private |
typedef std::map<std::string, const octave_value *> octave::jit_info::vmap |
octave::jit_info::jit_info | ( | tree & | tee | ) |
octave::jit_info::jit_info | ( | tree & | tee, |
const octave_value & | for_bounds | ||
) |
Definition at line 2689 of file pt-jit.cc.
References compile(), and octave::jit_typeinfo::type_of().
octave::jit_info::jit_info | ( | tree_simple_for_command & | tee, |
const octave_value & | for_bounds | ||
) |
Definition at line 2696 of file pt-jit.cc.
References compile(), and octave::jit_typeinfo::type_of().
|
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().
Definition at line 2763 of file pt-jit.cc.
References octave::jit_factory::constants(), octave::jit_convert_llvm::convert_loop(), e, octave::jit_module::finalizeObject(), octave::jit_convert_llvm::get_arguments(), octave::jit_convert::get_blocks(), octave::jit_convert::get_bounds(), octave::jit_convert::get_factory(), octave::jit_convert::get_variable_map(), octave::jit_module::getFunctionAddress(), octave::jit_infer::infer(), octave::jit_block_list::label(), m_arguments, m_bounds, m_function, m_llvm_function_name, octave::jit_module::optimize(), octave::jit_block_list::print(), octave::tree::str_print_code(), Vdebug_jit, and Vjit_failcnt.
Referenced by jit_info().
|
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().
Definition at line 2705 of file pt-jit.cc.
References octave::__require_current_scope__(), octave::symbol_scope::assign(), find(), first, octave_base_value::grab(), i, octave_value::internal_rep(), m_arguments, m_function, name, and string.
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 compile(), octave::jit_function_info::jit_function_info(), and octave::jit_typeinfo::jit_typeinfo().
|
private |
Definition at line 2843 of file pt-jit.cc.
References octave::__require_current_scope__(), and octave::symbol_scope::varval().
|
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 compile(), and octave::jit_function_info::jit_function_info().
Definition at line 2743 of file pt-jit.cc.
References find(), first, i, m_bounds, m_function, string, type, octave::jit_typeinfo::type_of(), and value.
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 compile(), and octave::jit_function_info::jit_function_info().
|
private |
|
private |
|
private |
|
private |