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 Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
jit_const< T, EXTRACT_T, PASS_T, QUOTE > Class Template Reference

#include "jit-ir.h"

Inheritance diagram for jit_const< T, EXTRACT_T, PASS_T, QUOTE >:
Inheritance graph
[legend]
Collaboration diagram for jit_const< T, EXTRACT_T, PASS_T, QUOTE >:
Collaboration graph
[legend]

Public Types

typedef PASS_T pass_t

Public Member Functions

 jit_const (PASS_T avalue)
virtual void accept (jit_ir_walker &walker)
jit_usefirst_use (void) const
jit_blockfirst_use_block (void)
bool has_llvm (void) const
bool in_worklist (void) const
jit_instructionlast_use (void) const
virtual bool needs_release (void) const
virtual std::ostream & print (std::ostream &os, size_t indent=0) const
std::string print_string (void)
virtual void replace_with (jit_value *value)
virtual std::ostream & short_print (std::ostream &os) const
void stash_in_worklist (bool ain_worklist)
void stash_last_use (jit_instruction *alast_use)
void stash_llvm (llvm::Value *compiled)
void stash_type (jit_type *new_ty)
llvm::Value * to_llvm (void) const
jit_typetype (void) const
llvm::Type * type_llvm (void) const
const std::string & type_name (void) const
size_t use_count (void) const
PASS_T value (void) const

Protected Member Functions

std::ostream & print_indent (std::ostream &os, size_t indent=0) const

Protected Attributes

llvm::Value * llvm_value

Private Attributes

mvalue

Detailed Description

template<typename T, jit_type *(*)(void) EXTRACT_T, typename PASS_T, bool QUOTE>
class jit_const< T, EXTRACT_T, PASS_T, QUOTE >

Definition at line 513 of file jit-ir.h.

Member Typedef Documentation

template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
typedef PASS_T jit_const< T, EXTRACT_T, PASS_T, QUOTE >::pass_t

Definition at line 517 of file jit-ir.h.

Constructor & Destructor Documentation

template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
jit_const< T, EXTRACT_T, PASS_T, QUOTE >::jit_const ( PASS_T  avalue)
inline

Definition at line 519 of file jit-ir.h.

References jit_value::stash_type().

Member Function Documentation

template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
void jit_const< T, EXTRACT_T, PASS_T, QUOTE >::accept ( jit_ir_walker walker)
virtual

Implements jit_value.

Definition at line 1427 of file jit-ir.h.

References jit_ir_walker::visit().

jit_use * jit_internal_list< jit_value , jit_use >::first_use ( void  ) const
inlineinherited
jit_block * jit_value::first_use_block ( void  )
inherited
bool jit_value::has_llvm ( void  ) const
inlineinherited

Definition at line 250 of file jit-ir.h.

References jit_value::llvm_value.

bool jit_value::in_worklist ( void  ) const
inlineinherited

Definition at line 196 of file jit-ir.h.

References jit_value::min_worklist.

Referenced by jit_infer::push_worklist().

jit_instruction* jit_value::last_use ( void  ) const
inlineinherited

Reimplemented in jit_variable.

Definition at line 234 of file jit-ir.h.

References jit_value::mlast_use.

virtual bool jit_value::needs_release ( void  ) const
inlinevirtualinherited

Reimplemented in jit_call.

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

Referenced by jit_infer::release_dead_phi(), and jit_infer::release_temp().

template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
virtual std::ostream& jit_const< T, EXTRACT_T, PASS_T, QUOTE >::print ( std::ostream &  os,
size_t  indent = 0 
) const
inlinevirtual

Implements jit_value.

Definition at line 526 of file jit-ir.h.

References jit_print(), and jit_value::print_indent().

std::ostream& jit_value::print_indent ( std::ostream &  os,
size_t  indent = 0 
) const
inlineprotectedinherited
std::string jit_value::print_string ( void  )
inlineinherited

Definition at line 227 of file jit-ir.h.

References jit_value::print().

void jit_value::replace_with ( jit_value value)
virtualinherited
virtual std::ostream& jit_value::short_print ( std::ostream &  os) const
inlinevirtualinherited
void jit_value::stash_in_worklist ( bool  ain_worklist)
inlineinherited

Definition at line 201 of file jit-ir.h.

References jit_value::min_worklist.

Referenced by jit_infer::infer(), and jit_infer::push_worklist().

void jit_value::stash_last_use ( jit_instruction alast_use)
inlineinherited

Reimplemented in jit_variable.

Definition at line 236 of file jit-ir.h.

References jit_value::mlast_use.

void jit_value::stash_llvm ( llvm::Value *  compiled)
inlineinherited
void jit_value::stash_type ( jit_type new_ty)
inlineinherited
llvm::Value* jit_value::to_llvm ( void  ) const
inlineinherited

Reimplemented in jit_terminator, jit_phi, and jit_block.

Definition at line 255 of file jit-ir.h.

References jit_value::llvm_value.

Referenced by jit_instruction::argument_llvm(), and jit_convert_llvm::visit().

jit_type* jit_value::type ( void  ) const
inlineinherited
llvm::Type* jit_value::type_llvm ( void  ) const
inlineinherited

Definition at line 215 of file jit-ir.h.

References jit_type::to_llvm(), and jit_value::ty.

Referenced by jit_convert_llvm::visit().

const std::string& jit_value::type_name ( void  ) const
inlineinherited

Definition at line 220 of file jit-ir.h.

References jit_type::name(), and jit_value::ty.

size_t jit_internal_list< jit_value , jit_use >::use_count ( void  ) const
inlineinherited

Reimplemented in jit_block.

Definition at line 115 of file jit-util.h.

Referenced by jit_call::infer(), jit_call::print(), and jit_block::use_count().

template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
PASS_T jit_const< T, EXTRACT_T, PASS_T, QUOTE >::value ( void  ) const
inline

Definition at line 524 of file jit-ir.h.

Referenced by jit_typeinfo::do_end(), and jit_convert_llvm::visit().

Member Data Documentation

llvm::Value* jit_value::llvm_value
protectedinherited
template<typename T , jit_type *(*)(void) EXTRACT_T, typename PASS_T , bool QUOTE>
T jit_const< T, EXTRACT_T, PASS_T, QUOTE >::mvalue
private

Definition at line 538 of file jit-ir.h.


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