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 | Private Member Functions | Private Attributes | List of all members
jit_convert_llvm Class Reference

#include "pt-jit.h"

Inheritance diagram for jit_convert_llvm:
Inheritance graph
[legend]
Collaboration diagram for jit_convert_llvm:
Collaboration graph
[legend]

Public Member Functions

jit_function convert_function (llvm::Module *module, const jit_block_list &blocks, const std::list< jit_value * > &constants, octave_user_function &fcn, const std::vector< jit_type * > &args)
 
llvm::Function * convert_loop (llvm::Module *module, const jit_block_list &blocks, const std::list< jit_value * > &constants)
 
const std::vector< std::pair
< std::string, bool > > & 
get_arguments (void) const
 
virtual void visit (jit_const_index &)
 
virtual void visit (jit_const_complex &)
 
virtual void visit (jit_const_scalar &)
 
virtual void visit (jit_const_bool &)
 
virtual void visit (jit_magic_end &)
 
virtual void visit (jit_argument &)
 
virtual void visit (jit_assign &)
 
virtual void visit (jit_error_check &)
 
virtual void visit (jit_variable &)
 
virtual void visit (jit_phi &)
 
virtual void visit (jit_return &)
 
virtual void visit (jit_store_argument &)
 
virtual void visit (jit_extract_argument &)
 
virtual void visit (jit_call &)
 
virtual void visit (jit_cond_branch &)
 
virtual void visit (jit_branch &)
 
virtual void visit (jit_block &)
 
virtual void visit (jit_const_string &)
 
virtual void visit (jit_const_range &)
 

Private Member Functions

void convert (const jit_block_list &blocks, const std::list< jit_value * > &constants)
 
void finish_phi (jit_phi *phi)
 
void visit (jit_value *jvalue)
 
void visit (jit_value &jvalue)
 

Private Attributes

std::map< std::string, intargument_index
 
std::vector< std::pair
< std::string, bool > > 
argument_vec
 
std::map< std::string,
llvm::Value * > 
arguments
 
bool converting_function
 
jit_function creating
 
llvm::Function * function
 
llvm::BasicBlock * prelude
 

Detailed Description

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

Member Function Documentation

void jit_convert_llvm::convert ( const jit_block_list blocks,
const std::list< jit_value * > &  constants 
)
private
jit_function jit_convert_llvm::convert_function ( llvm::Module *  module,
const jit_block_list blocks,
const std::list< jit_value * > &  constants,
octave_user_function fcn,
const std::vector< jit_type * > &  args 
)
llvm::Function * jit_convert_llvm::convert_loop ( llvm::Module *  module,
const jit_block_list blocks,
const std::list< jit_value * > &  constants 
)
void jit_convert_llvm::finish_phi ( jit_phi phi)
private
const std::vector<std::pair<std::string, bool> >& jit_convert_llvm::get_arguments ( void  ) const
inline

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

Referenced by jit_info::compile().

virtual void jit_convert_llvm::visit ( jit_const_range )
virtual

Implements jit_ir_walker.

virtual void jit_convert_llvm::visit ( jit_const_string )
virtual

Implements jit_ir_walker.

void jit_convert_llvm::visit ( jit_block b)
virtual

Implements jit_ir_walker.

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

References jit_block::begin(), builder(), jit_block::end(), and jit_block::to_llvm().

Referenced by convert().

virtual void jit_convert_llvm::visit ( jit_const_complex )
virtual

Implements jit_ir_walker.

virtual void jit_convert_llvm::visit ( jit_const_scalar )
virtual

Implements jit_ir_walker.

void jit_convert_llvm::visit ( jit_extract_argument extract)
virtual
void jit_convert_llvm::visit ( jit_magic_end me)
virtual
void jit_convert_llvm::visit ( jit_argument )
virtual

Implements jit_ir_walker.

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

void jit_convert_llvm::visit ( jit_assign assign)
virtual
void jit_convert_llvm::visit ( jit_error_check check)
virtual
void jit_convert_llvm::visit ( jit_cond_branch cb)
virtual
void jit_convert_llvm::visit ( jit_branch b)
virtual

Implements jit_ir_walker.

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

References builder(), jit_value::stash_llvm(), and jit_terminator::successor_llvm().

virtual void jit_convert_llvm::visit ( jit_const_index )
virtual

Implements jit_ir_walker.

void jit_convert_llvm::visit ( jit_const_bool cs)
virtual
void jit_convert_llvm::visit ( jit_store_argument store)
virtual
void jit_convert_llvm::visit ( jit_call call)
virtual
void jit_convert_llvm::visit ( jit_variable )
virtual

Implements jit_ir_walker.

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

void jit_convert_llvm::visit ( jit_return ret)
virtual
void jit_convert_llvm::visit ( jit_phi phi)
virtual
void jit_convert_llvm::visit ( jit_value jvalue)
inlineprivate

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

void jit_convert_llvm::visit ( jit_value jvalue)
inlineprivate

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

Member Data Documentation

std::map<std::string, int> jit_convert_llvm::argument_index
private

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

std::vector<std::pair<std::string, bool> > jit_convert_llvm::argument_vec
private

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

Referenced by convert_loop().

std::map<std::string, llvm::Value *> jit_convert_llvm::arguments
private

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

Referenced by convert_function(), convert_loop(), and visit().

bool jit_convert_llvm::converting_function
private

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

Referenced by convert_function(), convert_loop(), and visit().

jit_function jit_convert_llvm::creating
private

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

Referenced by convert_function(), and visit().

llvm::Function* jit_convert_llvm::function
private

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

llvm::BasicBlock* jit_convert_llvm::prelude
private

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

Referenced by convert_function(), and convert_loop().


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