GNU Octave  4.2.1
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 | Private Attributes | List of all members
jit_type Class Reference

#include "jit-typeinfo.h"

Collaboration diagram for jit_type:
Collaboration graph
[legend]

Public Types

typedef llvm::Value *(* convert_fn )(llvm::IRBuilderD &, llvm::Value *)
 

Public Member Functions

 jit_type (const std::string &aname, jit_type *aparent, llvm::Type *allvm_type, bool askip_paren, int aid)
 
size_t depth (void) const
 
void mark_pointer_arg (jit_convention::type cc)
 
void mark_sret (jit_convention::type cc)
 
const std::stringname (void) const
 
convert_fn pack (jit_convention::type cc)
 
llvm::Type * packed_type (jit_convention::type cc)
 
jit_typeparent (void) const
 
bool pointer_arg (jit_convention::type cc) const
 
void set_pack (jit_convention::type cc, convert_fn fn)
 
void set_packed_type (jit_convention::type cc, llvm::Type *ty)
 
void set_unpack (jit_convention::type cc, convert_fn fn)
 
bool skip_paren (void) const
 
bool sret (jit_convention::type cc) const
 
llvm::Type * to_llvm (void) const
 
llvm::Type * to_llvm_arg (void) const
 
int type_id (void) const
 
convert_fn unpack (jit_convention::type cc)
 

Private Attributes

llvm::Type * llvm_type
 
size_t mdepth
 
int mid
 
std::string mname
 
convert_fn mpack [jit_convention::length]
 
llvm::Type * mpacked_type [jit_convention::length]
 
jit_typemparent
 
bool mpointer_arg [jit_convention::length]
 
bool mskip_paren
 
bool msret [jit_convention::length]
 
convert_fn munpack [jit_convention::length]
 

Detailed Description

Definition at line 133 of file jit-typeinfo.h.

Member Typedef Documentation

typedef llvm::Value*(* jit_type::convert_fn)(llvm::IRBuilderD &, llvm::Value *)

Definition at line 137 of file jit-typeinfo.h.

Constructor & Destructor Documentation

jit_type::jit_type ( const std::string aname,
jit_type aparent,
llvm::Type *  allvm_type,
bool  askip_paren,
int  aid 
)

Definition at line 505 of file jit-typeinfo.cc.

References jit_convention::length, llvm_type, mpack, mpacked_type, mpointer_arg, msret, and munpack.

Member Function Documentation

size_t jit_type::depth ( void  ) const
inline

Definition at line 157 of file jit-typeinfo.h.

void jit_type::mark_pointer_arg ( jit_convention::type  cc)
inline

Definition at line 177 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

void jit_type::mark_sret ( jit_convention::type  cc)
inline

Definition at line 169 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

const std::string& jit_type::name ( void  ) const
inline
convert_fn jit_type::pack ( jit_convention::type  cc)
inline

Definition at line 183 of file jit-typeinfo.h.

Referenced by jit_function::do_return().

llvm::Type* jit_type::packed_type ( jit_convention::type  cc)
inline

Definition at line 194 of file jit-typeinfo.h.

Referenced by jit_function::call(), and jit_function::jit_function().

jit_type* jit_type::parent ( void  ) const
inline

Definition at line 149 of file jit-typeinfo.h.

bool jit_type::pointer_arg ( jit_convention::type  cc) const
inline

Definition at line 175 of file jit-typeinfo.h.

Referenced by jit_function::jit_function().

void jit_type::set_pack ( jit_convention::type  cc,
convert_fn  fn 
)
inline

Definition at line 185 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

void jit_type::set_packed_type ( jit_convention::type  cc,
llvm::Type *  ty 
)
inline

Definition at line 197 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

void jit_type::set_unpack ( jit_convention::type  cc,
convert_fn  fn 
)
inline

Definition at line 190 of file jit-typeinfo.h.

Referenced by jit_typeinfo::jit_typeinfo().

bool jit_type::skip_paren ( void  ) const
inline

Definition at line 159 of file jit-typeinfo.h.

Referenced by jit_magic_end::resolve_context().

bool jit_type::sret ( jit_convention::type  cc) const
inline

Definition at line 167 of file jit-typeinfo.h.

llvm::Type* jit_type::to_llvm ( void  ) const
inline
llvm::Type * jit_type::to_llvm_arg ( void  ) const

Definition at line 520 of file jit-typeinfo.cc.

References llvm_type.

int jit_type::type_id ( void  ) const
inline

Definition at line 146 of file jit-typeinfo.h.

Referenced by jit_typeinfo::create_identity(), and jit_typeinfo::jit_typeinfo().

convert_fn jit_type::unpack ( jit_convention::type  cc)
inline

Definition at line 188 of file jit-typeinfo.h.

Referenced by jit_function::call().

Member Data Documentation

llvm::Type* jit_type::llvm_type
private

Definition at line 202 of file jit-typeinfo.h.

Referenced by jit_type(), and to_llvm_arg().

size_t jit_type::mdepth
private

Definition at line 204 of file jit-typeinfo.h.

int jit_type::mid
private

Definition at line 203 of file jit-typeinfo.h.

std::string jit_type::mname
private

Definition at line 200 of file jit-typeinfo.h.

convert_fn jit_type::mpack[jit_convention::length]
private

Definition at line 210 of file jit-typeinfo.h.

Referenced by jit_type().

llvm::Type* jit_type::mpacked_type[jit_convention::length]
private

Definition at line 213 of file jit-typeinfo.h.

Referenced by jit_type().

jit_type* jit_type::mparent
private

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

bool jit_type::mpointer_arg[jit_convention::length]
private

Definition at line 208 of file jit-typeinfo.h.

Referenced by jit_type().

bool jit_type::mskip_paren
private

Definition at line 205 of file jit-typeinfo.h.

bool jit_type::msret[jit_convention::length]
private

Definition at line 207 of file jit-typeinfo.h.

Referenced by jit_type().

convert_fn jit_type::munpack[jit_convention::length]
private

Definition at line 211 of file jit-typeinfo.h.

Referenced by jit_type().


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