GNU Octave  3.8.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 349 of file pt-jit.h.

Constructor & Destructor Documentation

tree_jit::~tree_jit ( void  )

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

tree_jit::tree_jit ( void  )
private

Definition at line 1840 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 1974 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 1854 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 1860 of file pt-jit.cc.

References do_execute(), and instance().

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

Definition at line 363 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 365 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 1874 of file pt-jit.cc.

References engine, module, module_pass_manager, and pass_manager.

Referenced by do_execute().

tree_jit & tree_jit::instance ( void  )
staticprivate

Definition at line 1867 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 1984 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 389 of file pt-jit.h.

Referenced by initialize().

llvm::Module* tree_jit::module
private

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

Referenced by initialize(), and optimize().

llvm::PassManager* tree_jit::module_pass_manager
private

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

Referenced by initialize(), and optimize().

llvm::FunctionPassManager* tree_jit::pass_manager
private

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

Referenced by initialize(), and optimize().


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