GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
tree_jit Class Reference

#include "pt-jit.h"

Collaboration diagram for tree_jit:
Collaboration graph
[legend]

Public Member Functions

 ~tree_jit (void)
 
llvm::ExecutionEngine * get_engine (void) const
 
llvm::Module * get_module (void) const
 
void optimize (llvm::Function *fn)
 

Static Public Member Functions

static bool execute (tree_simple_for_command &cmd, const octave_value &bounds)
 
static bool execute (tree_while_command &cmd)
 
static bool execute (octave_user_function &fcn, const octave_value_list &args, octave_value_list &retval)
 

Private Member Functions

 tree_jit (void)
 
bool do_execute (tree_simple_for_command &cmd, const octave_value &bounds)
 
bool do_execute (tree_while_command &cmd)
 
bool do_execute (octave_user_function &fcn, const octave_value_list &args, octave_value_list &retval)
 
bool enabled (void)
 
bool initialize (void)
 
size_t trip_count (const octave_value &bounds) const
 

Static Private Member Functions

static tree_jitinstance (void)
 

Private Attributes

llvm::ExecutionEngine * engine
 
llvm::Module * module
 
llvm::PassManager * module_pass_manager
 
llvm::FunctionPassManager * pass_manager
 

Detailed Description

Definition at line 346 of file pt-jit.h.

Constructor & Destructor Documentation

tree_jit::~tree_jit ( void  )

Definition at line 2023 of file pt-jit.cc.

tree_jit::tree_jit ( void  )
private

Definition at line 2019 of file pt-jit.cc.

Member Function Documentation

bool tree_jit::do_execute ( tree_simple_for_command cmd,
const octave_value bounds 
)
private
bool tree_jit::do_execute ( tree_while_command cmd)
private
bool tree_jit::do_execute ( octave_user_function fcn,
const octave_value_list args,
octave_value_list retval 
)
private
bool tree_jit::enabled ( void  )
private

Definition at line 2158 of file pt-jit.cc.

References bp_table::have_breakpoints(), Vdebug_on_error, Vdebug_on_interrupt, and Vjit_enable.

Referenced by do_execute().

bool tree_jit::execute ( tree_simple_for_command cmd,
const octave_value bounds 
)
static
bool tree_jit::execute ( tree_while_command cmd)
static

Definition at line 2033 of file pt-jit.cc.

References do_execute(), and instance().

bool tree_jit::execute ( octave_user_function fcn,
const octave_value_list args,
octave_value_list retval 
)
static

Definition at line 2039 of file pt-jit.cc.

References do_execute(), and instance().

llvm::ExecutionEngine* tree_jit::get_engine ( void  ) const
inline

Definition at line 360 of file pt-jit.h.

Referenced by jit_function_info::jit_function_info().

llvm::Module* tree_jit::get_module ( void  ) const
inline

Definition at line 362 of file pt-jit.h.

Referenced by jit_info::compile(), and jit_function_info::jit_function_info().

bool tree_jit::initialize ( void  )
private

Definition at line 2053 of file pt-jit.cc.

References engine, jit_typeinfo::initialize(), module, module_pass_manager, and pass_manager.

Referenced by do_execute().

tree_jit & tree_jit::instance ( void  )
staticprivate

Definition at line 2046 of file pt-jit.cc.

Referenced by execute().

void tree_jit::optimize ( llvm::Function *  fn)
size_t tree_jit::trip_count ( const octave_value bounds) const
private

Definition at line 2168 of file pt-jit.cc.

References octave_value::is_range(), Range::nelem(), and octave_value::range_value().

Referenced by do_execute().

Member Data Documentation

llvm::ExecutionEngine* tree_jit::engine
private

Definition at line 391 of file pt-jit.h.

Referenced by initialize().

llvm::Module* tree_jit::module
private

Definition at line 383 of file pt-jit.h.

Referenced by initialize(), and optimize().

llvm::PassManager* tree_jit::module_pass_manager
private

Definition at line 388 of file pt-jit.h.

Referenced by initialize(), and optimize().

llvm::FunctionPassManager* tree_jit::pass_manager
private

Definition at line 389 of file pt-jit.h.

Referenced by initialize(), and optimize().


The documentation for this class was generated from the following files: