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 | 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::string & name (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 132 of file jit-typeinfo.h.

Member Typedef Documentation

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

Definition at line 136 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 534 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 156 of file jit-typeinfo.h.

Referenced by jit_typeinfo::do_join().

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

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

Referenced by jit_typeinfo::jit_typeinfo().

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

Definition at line 168 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 182 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 193 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 148 of file jit-typeinfo.h.

References jit_instruction::mparent.

Referenced by jit_typeinfo::do_join().

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

Definition at line 174 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 184 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 196 of file jit-typeinfo.h.

References jit_value::ty.

Referenced by jit_typeinfo::jit_typeinfo().

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

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

Referenced by jit_typeinfo::jit_typeinfo().

bool jit_type::skip_paren ( void  ) const
inline

Definition at line 158 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 166 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 549 of file jit-typeinfo.cc.

References llvm_type.

int jit_type::type_id ( void  ) const
inline
convert_fn jit_type::unpack ( jit_convention::type  cc)
inline

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

Referenced by jit_function::call().

Member Data Documentation

llvm::Type* jit_type::llvm_type
private

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

Referenced by jit_type(), and to_llvm_arg().

size_t jit_type::mdepth
private

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

int jit_type::mid
private

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

std::string jit_type::mname
private

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

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

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

Referenced by jit_type().

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

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

Referenced by jit_type().

jit_type* jit_type::mparent
private

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

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

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

Referenced by jit_type().

bool jit_type::mskip_paren
private

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

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

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

Referenced by jit_type().

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

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

Referenced by jit_type().


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