#include "jit-typeinfo.h"
Public Types | |
typedef std::vector< jit_type * > | signature_vec |
Public Member Functions | |
jit_index_operation (const jit_typeinfo &ti, const std::string &name) | |
void | add_overload (const jit_function &func) |
void | add_overload (const jit_function &func, const signature_vec &args) |
const std::string & | name (void) const |
const jit_function & | overload (const signature_vec &types) const |
template<typename ... Args> | |
const jit_function & | overload (jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
const jit_function & | overload (signature_vec &args, jit_type *arg1, Args... other_args) const |
jit_type * | result (const signature_vec &types) const |
template<typename ... Args> | |
jit_type * | result (jit_type *arg1, Args... other_args) const |
template<typename ... Args> | |
jit_type * | result (signature_vec &args, jit_type *arg1, Args... other_args) const |
void | stash_name (const std::string &aname) |
Protected Member Functions | |
llvm::Value * | create_arg_array (llvm::IRBuilderD &builder, const jit_function &fn, size_t start_idx, size_t end_idx) const |
virtual jit_function * | generate (const signature_vec &types) const |
virtual jit_function * | generate_matrix (const signature_vec &types) const =0 |
Protected Attributes | |
const jit_typeinfo & | m_typeinfo |
Private Types | |
typedef std::map< const signature_vec *, jit_function *, signature_cmp > | generated_map |
Private Member Functions | |
const jit_function & | do_generate (const signature_vec &types) const |
Array< octave_idx_type > | to_idx (const signature_vec &types) const |
Private Attributes | |
generated_map | m_generated |
std::string | m_name |
std::vector< Array< jit_function > > | m_overloads |
Definition at line 443 of file jit-typeinfo.h.
|
privateinherited |
Definition at line 433 of file jit-typeinfo.h.
|
inherited |
Definition at line 359 of file jit-typeinfo.h.
|
inline |
Definition at line 448 of file jit-typeinfo.h.
|
inlineinherited |
Definition at line 363 of file jit-typeinfo.h.
References octave::jit_function::arguments().
Referenced by octave::jit_typeinfo::jit_typeinfo(), octave::jit_typeinfo::add_print(), octave::jit_typeinfo::register_generic(), and octave::jit_typeinfo::register_intrinsic().
|
inherited |
|
protected |
Definition at line 961 of file jit-typeinfo.cc.
References octave::jit_function::argument(), octave::builder, octave::jit_typeinfo::get_scalar_llvm(), and n.
Referenced by octave::jit_paren_subsref::generate_matrix(), and octave::jit_paren_subsasgn::generate_matrix().
|
privateinherited |
Definition at line 896 of file jit-typeinfo.cc.
References find(), octave::jit_operation::generate(), and octave::jit_operation::m_generated.
|
protectedvirtual |
Reimplemented from octave::jit_operation.
Definition at line 944 of file jit-typeinfo.cc.
References octave::jit_typeinfo::get_matrix(), octave::jit_typeinfo::get_scalar(), and scalar().
|
protectedpure virtual |
Implemented in octave::jit_paren_subsasgn, and octave::jit_paren_subsref.
|
inlineinherited |
Definition at line 413 of file jit-typeinfo.h.
|
inherited |
|
inlineinherited |
Definition at line 382 of file jit-typeinfo.h.
|
inlineinherited |
Definition at line 374 of file jit-typeinfo.h.
|
inlineinherited |
Definition at line 390 of file jit-typeinfo.h.
References octave::jit_function::result().
Referenced by octave::jit_call::infer().
|
inlineinherited |
Definition at line 405 of file jit-typeinfo.h.
|
inlineinherited |
Definition at line 397 of file jit-typeinfo.h.
|
inlineinherited |
Definition at line 415 of file jit-typeinfo.h.
|
privateinherited |
Definition at line 873 of file jit-typeinfo.cc.
|
mutableprivateinherited |
Definition at line 435 of file jit-typeinfo.h.
Referenced by octave::jit_operation::~jit_operation(), and octave::jit_operation::do_generate().
|
privateinherited |
Definition at line 439 of file jit-typeinfo.h.
|
privateinherited |
Definition at line 437 of file jit-typeinfo.h.
|
protected |
Definition at line 463 of file jit-typeinfo.h.
Referenced by octave::jit_paren_subsref::generate_matrix(), octave::jit_paren_subsasgn::generate_matrix(), octave::jit_paren_subsref::init_paren_scalar(), and octave::jit_paren_subsasgn::init_paren_scalar().