C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

arch_info Class Reference

#include <arch_info.h>

List of all members.

Public Types

typedef vector< register_info * > register_info_list
typedef register_info_list::iterator register_info_list_p
typedef map< string, register_info * > register_info_map

Public Member Functions

 arch_info ()
 ~arch_info ()
bool load_arch_info (const char *pFile)
void reset_info ()
bool is_valid ()
const char * get_asm_line_comment () const
const char * get_asm_const_prefix () const
const register_info_listget_all_regs () const
const register_info_listget_regs_gpr () const
const register_info_listget_regs_fpr () const
const register_infoget_reg_sp () const
const register_infoget_reg_fp () const
const register_info_listget_regs_param_fixed () const
const register_info_listget_regs_param_float () const
const register_infoget_reg_retval_fixed () const
const register_infoget_reg_retval_float () const
const register_info_listget_regs_caller_save () const
const register_info_listget_regs_callee_save () const
typeNodeget_reg_data_type_gpr () const
typeNodeget_reg_data_type_fpr () const
Register get_register (const register_info *pInfo)
bool get_reg_name (const Register &reg, string &name, bool wantPrefixAdd=true, bool wantPrefixRemove=false)
bool get_reg_by_index (int realRegIndex, Register &reg)
unsigned int get_data_size_short () const
unsigned int get_data_size_int () const
unsigned int get_data_size_long () const
unsigned int get_data_size_float () const
unsigned int get_data_size_double () const
unsigned int get_data_size_ptr () const
unsigned int get_data_size (typeNode *) const
unsigned int get_max_data_align () const
unsigned int get_data_align_char () const
unsigned int get_data_align_short () const
unsigned int get_data_align_int () const
unsigned int get_data_align_long () const
unsigned int get_data_align_float () const
unsigned int get_data_align_double () const
unsigned int get_data_align_ptr () const
unsigned int get_data_align (typeNode *) const
unsigned int get_stack_frame_min_size () const
int get_stack_extra_top () const
int get_stack_extra_bottom () const
unsigned int get_stack_align () const
int get_stack_formals_offset () const
bool emulate_3_address () const
bool get_code_for_instruction (const LirInst *pInst, vector< string > &lines)
bool get_instruction_kill_regs (const LirInst *pInst, register_info_list &killRegs)
bool types_need_conversion (typeNode *srcType, typeNode *destType)
bool instruction_supports_immediate (mnemonic instruction, typeNode *the_type, const constant &c)

Static Public Attributes

register_info pseudo_reg_dest
register_info pseudo_reg_src1
register_info pseudo_reg_src2

Private Types

typedef vector< string > code_template
typedef vector< Lir2AsmLir2Asm_list
typedef map< mnemonic, vector<
int > > 
map_menmonic_to_record_set

Private Member Functions

bool find_register_info (const char *name, register_info *&regInfoFound) const
bool get_Lir2Asm_for_instruction (const LirInst *pInst, Lir2Asm **ppLir2Asm)
bool get_Lir2Asm_for_instruction (mnemonic inst, typeNode *srcType, typeNode *destType, bool isImmed, Lir2Asm **ppLir2Asm)
bool findType (vector< typeNode * > &, typeNode *)
void make_template_replacements (const LirInst *pInst, Lir2Asm *pLir2Asm, code_template &outputTemplate)

Static Private Member Functions

void do_init_static ()

Private Attributes

bool _valid
unsigned int _nextRegId
string _archName
string _asmLineComment
string _asmRegPrefixAdd
string _asmRegPrefixRemove
vector< string > _asmRegPrefixRemoveSplit
string _asmConstPrefix
register_info_list _regsAll
register_info_map _regMap
register_info_list _regsGpr
register_info_list _regsFpr
register_info_regSp
register_info_regFp
register_info_list _regsParamFixed
register_info_list _regsParamFloat
register_info_regRetvalFixed
register_info_regRetvalFloat
register_info_list _regsCallerSave
register_info_list _regsCalleeSave
typeNode_regDataTypeGpr
typeNode_regDataTypeFpr
int _dataSizeLong
int _dataSizeInt
int _dataSizeShort
int _dataSizeDouble
int _dataSizeFloat
int _dataSizePtr
int _maxDataAlign
int _dataAlignChar
int _dataAlignShort
int _dataAlignInt
int _dataAlignLong
int _dataAlignFloat
int _dataAlignDouble
int _dataAlignPtr
int _stackFrameMinSize
int _stackExtraTop
int _stackExtraBottom
int _stackAlign
int _stackFormalsOffset
bool _emulate3Address
Lir2Asm_list _Lir2Asm_records
map_menmonic_to_record_set _Lir2Asm_mnemonicLookup
string _tempParseString
register_info_list _tempRegList
bool _tempBool

Friends

class arch_info_parser


Member Typedef Documentation

typedef vector<string> arch_info::code_template [private]
 

Definition at line 238 of file arch_info.h.

typedef vector<Lir2Asm> arch_info::Lir2Asm_list [private]
 

Definition at line 285 of file arch_info.h.

typedef map<mnemonic, vector<int> > arch_info::map_menmonic_to_record_set [private]
 

Definition at line 384 of file arch_info.h.

typedef vector<register_info*> arch_info::register_info_list
 

Definition at line 126 of file arch_info.h.

typedef register_info_list::iterator arch_info::register_info_list_p
 

Definition at line 127 of file arch_info.h.

Referenced by asm_gen_walker::doCalleeSave().

typedef map<string, register_info*> arch_info::register_info_map
 

Definition at line 130 of file arch_info.h.


Constructor & Destructor Documentation

arch_info::arch_info  
 

Definition at line 60 of file arch_info.cc.

References _nextRegId, and reset_info().

arch_info::~arch_info  
 

Definition at line 68 of file arch_info.cc.


Member Function Documentation

void arch_info::do_init_static   [static, private]
 

bool arch_info::emulate_3_address   const [inline]
 

Definition at line 213 of file arch_info.h.

References _emulate3Address.

bool arch_info::find_register_info const char *    name,
register_info *&    regInfoFound
const [private]
 

Definition at line 378 of file arch_info.cc.

References _regMap.

Referenced by arch_info_parser::parse_reg_item(), and arch_info_parser::parse_reg_list_item().

bool arch_info::findType vector< typeNode * > &   ,
typeNode  
[private]
 

Definition at line 468 of file arch_info.cc.

References typeNode::is_pointer(), and LirUtil::newVoidPtr().

Referenced by get_Lir2Asm_for_instruction().

const register_info_list & arch_info::get_all_regs   const
 

Definition at line 129 of file arch_info.cc.

References _regsAll.

Referenced by briggs_reg_alloc::allocate(), asm_gen_walker::doCallerSave(), briggs_reg_alloc::interfere(), dummy_reg_alloc::is_real_reg(), and storage_alloc::reset().

const char * arch_info::get_asm_const_prefix   const
 

Definition at line 124 of file arch_info.cc.

References _asmConstPrefix.

Referenced by reg_or_const::to_string().

const char * arch_info::get_asm_line_comment   const
 

Definition at line 119 of file arch_info.cc.

References _asmLineComment.

bool arch_info::get_code_for_instruction const LirInst   pInst,
vector< string > &    lines
 

Definition at line 302 of file arch_info.cc.

References arch_info::Lir2Asm::_codeTemplate, get_Lir2Asm_for_instruction(), LirInst::instruction, make_template_replacements(), mn_Label, and cbz_util::vector_copy().

Referenced by asm_gen_walker::emit().

unsigned int arch_info::get_data_align typeNode   const
 

Definition at line 276 of file arch_info.cc.

References primNode::basic(), get_data_align_char(), get_data_align_double(), get_data_align_float(), get_data_align_int(), get_data_align_long(), get_data_align_ptr(), get_data_align_short(), get_max_data_align(), typeNode::is_aggregate(), primNode::is_char(), primNode::is_float(), primNode::is_integer(), basic_type::is_long(), typeNode::is_pointer(), and basic_type::is_short().

unsigned int arch_info::get_data_align_char   const [inline]
 

Definition at line 184 of file arch_info.h.

References _dataAlignChar.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_double   const [inline]
 

Definition at line 194 of file arch_info.h.

References _dataAlignDouble.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_float   const [inline]
 

Definition at line 192 of file arch_info.h.

References _dataAlignFloat.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_int   const [inline]
 

Definition at line 188 of file arch_info.h.

References _dataAlignInt.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_long   const [inline]
 

Definition at line 190 of file arch_info.h.

References _dataAlignLong.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_ptr   const [inline]
 

Definition at line 196 of file arch_info.h.

References _dataAlignPtr.

Referenced by get_data_align().

unsigned int arch_info::get_data_align_short   const [inline]
 

Definition at line 186 of file arch_info.h.

References _dataAlignShort.

Referenced by get_data_align().

unsigned int arch_info::get_data_size typeNode   const
 

Definition at line 226 of file arch_info.cc.

References primNode::basic(), get_data_size_double(), get_data_size_float(), get_data_size_int(), get_data_size_long(), get_data_size_ptr(), get_data_size_short(), primNode::is_char(), primNode::is_float(), primNode::is_integer(), basic_type::is_long(), typeNode::is_pointer(), and basic_type::is_short().

unsigned int arch_info::get_data_size_double   const [inline]
 

Definition at line 176 of file arch_info.h.

References _dataSizeDouble.

Referenced by get_data_size().

unsigned int arch_info::get_data_size_float   const [inline]
 

Definition at line 174 of file arch_info.h.

References _dataSizeFloat.

Referenced by get_data_size().

unsigned int arch_info::get_data_size_int   const [inline]
 

Definition at line 170 of file arch_info.h.

References _dataSizeInt.

Referenced by get_data_size().

unsigned int arch_info::get_data_size_long   const [inline]
 

Definition at line 172 of file arch_info.h.

References _dataSizeLong.

Referenced by get_data_size().

unsigned int arch_info::get_data_size_ptr   const [inline]
 

Definition at line 178 of file arch_info.h.

References _dataSizePtr.

Referenced by get_data_size().

unsigned int arch_info::get_data_size_short   const [inline]
 

Definition at line 168 of file arch_info.h.

References _dataSizeShort.

Referenced by get_data_size().

bool arch_info::get_instruction_kill_regs const LirInst   pInst,
register_info_list   killRegs
 

Definition at line 332 of file arch_info.cc.

References arch_info::Lir2Asm::_killRegs, get_Lir2Asm_for_instruction(), and cbz_util::vector_copy().

Referenced by asm_gen_walker::doCalleeSave().

bool arch_info::get_Lir2Asm_for_instruction mnemonic    inst,
typeNode   srcType,
typeNode   destType,
bool    isImmed,
Lir2Asm **    ppLir2Asm
[private]
 

Definition at line 416 of file arch_info.cc.

References arch_info::Lir2Asm::_convertToTypes, arch_info::Lir2Asm::_dataTypes, arch_info::Lir2Asm::_immed, _Lir2Asm_mnemonicLookup, _Lir2Asm_records, arch_info::Lir2Asm::_lirInstTypes, and findType().

bool arch_info::get_Lir2Asm_for_instruction const LirInst   pInst,
Lir2Asm **    ppLir2Asm
[private]
 

Definition at line 406 of file arch_info.cc.

References reg_or_const::_is_const, LirInst::convertType, LirInst::instruction, LirInst::opnd2, and LirInst::primaryType.

Referenced by get_code_for_instruction(), get_instruction_kill_regs(), instruction_supports_immediate(), and types_need_conversion().

unsigned int arch_info::get_max_data_align   const
 

Definition at line 250 of file arch_info.cc.

References _dataAlignChar, _dataAlignDouble, _dataAlignFloat, _dataAlignInt, _dataAlignLong, _dataAlignPtr, _dataAlignShort, and _maxDataAlign.

Referenced by get_data_align().

bool arch_info::get_reg_by_index int    realRegIndex,
Register   reg
 

Definition at line 213 of file arch_info.cc.

References _regsAll, and get_register().

Referenced by asm_gen_walker::createTempForRegSave(), briggs_reg_alloc::makeDuChains(), and briggs_reg_alloc::makeWebs().

typeNode * arch_info::get_reg_data_type_fpr   const
 

Definition at line 189 of file arch_info.cc.

References _regDataTypeFpr.

Referenced by asm_gen_walker::createTempForRegSave(), and Symbol::getLirVt().

typeNode * arch_info::get_reg_data_type_gpr   const
 

Definition at line 184 of file arch_info.cc.

References _regDataTypeGpr.

Referenced by asm_gen_walker::createTempForRegSave(), and Symbol::getLirVt().

const register_info * arch_info::get_reg_fp   const
 

Definition at line 149 of file arch_info.cc.

References _regFp.

Referenced by briggs_reg_alloc::buildAdjMatrix(), lir_flow_walker::computeRegisterLiveness(), Register::getRegFp(), and briggs_reg_alloc::interfere().

bool arch_info::get_reg_name const Register   reg,
string &    name,
bool    wantPrefixAdd = true,
bool    wantPrefixRemove = false
 

Definition at line 194 of file arch_info.cc.

References _asmRegPrefixAdd, _asmRegPrefixRemoveSplit, _regsAll, and Register::num().

Referenced by make_template_replacements().

const register_info * arch_info::get_reg_retval_fixed   const
 

Definition at line 164 of file arch_info.cc.

References _regRetvalFixed.

Referenced by briggs_reg_alloc::assignRegisters(), LIR::Call(), lir_flow_walker::computeRegisterLiveness(), Register::getRegRetValFixed(), and briggs_reg_alloc::interfere().

const register_info * arch_info::get_reg_retval_float   const
 

Definition at line 169 of file arch_info.cc.

References _regRetvalFloat.

Referenced by briggs_reg_alloc::assignRegisters(), LIR::Call(), lir_flow_walker::computeRegisterLiveness(), Register::getRegRetValFloat(), and briggs_reg_alloc::interfere().

const register_info * arch_info::get_reg_sp   const
 

Definition at line 144 of file arch_info.cc.

References _regSp.

Referenced by briggs_reg_alloc::buildAdjMatrix(), lir_flow_walker::computeRegisterLiveness(), Register::getRegSp(), and briggs_reg_alloc::interfere().

Register arch_info::get_register const register_info   pInfo
 

Definition at line 392 of file arch_info.cc.

References arch_info::register_info::_id, arch_info::register_info::_type, Register::num(), and Register::type().

Referenced by get_reg_by_index(), and dummy_reg_alloc::setup_rregs().

const register_info_list & arch_info::get_regs_callee_save   const
 

Definition at line 179 of file arch_info.cc.

References _regsCalleeSave.

Referenced by asm_gen_walker::doCalleeSave().

const register_info_list & arch_info::get_regs_caller_save   const
 

Definition at line 174 of file arch_info.cc.

References _regsCallerSave.

Referenced by asm_gen_walker::doCallerSave().

const register_info_list & arch_info::get_regs_fpr   const
 

Definition at line 139 of file arch_info.cc.

References _regsFpr.

Referenced by briggs_reg_alloc::allocate(), briggs_reg_alloc::assignRegisters(), and dummy_reg_alloc::setup_rregs().

const register_info_list & arch_info::get_regs_gpr   const
 

Definition at line 134 of file arch_info.cc.

References _regsGpr.

Referenced by briggs_reg_alloc::allocate(), briggs_reg_alloc::assignRegisters(), and dummy_reg_alloc::setup_rregs().

const register_info_list & arch_info::get_regs_param_fixed   const
 

Definition at line 154 of file arch_info.cc.

References _regsParamFixed.

Referenced by storage_alloc::assign_arg_register(), and lir_gen_walker::gen_call().

const register_info_list & arch_info::get_regs_param_float   const
 

Definition at line 159 of file arch_info.cc.

References _regsParamFloat.

Referenced by storage_alloc::assign_arg_register(), and lir_gen_walker::gen_call().

unsigned int arch_info::get_stack_align   const [inline]
 

Definition at line 207 of file arch_info.h.

References _stackAlign.

Referenced by asm_gen_walker::computeStackFrameSize().

int arch_info::get_stack_extra_bottom   const [inline]
 

Definition at line 205 of file arch_info.h.

References _stackExtraBottom.

Referenced by asm_gen_walker::computeStackFrameSize(), and lir_gen_walker::gen_call().

int arch_info::get_stack_extra_top   const [inline]
 

Definition at line 203 of file arch_info.h.

References _stackExtraTop.

Referenced by lir_gen_walker::at_proc().

int arch_info::get_stack_formals_offset   const [inline]
 

Definition at line 209 of file arch_info.h.

References _stackFormalsOffset.

Referenced by storage_alloc::reset().

unsigned int arch_info::get_stack_frame_min_size   const [inline]
 

Definition at line 201 of file arch_info.h.

References _stackFrameMinSize.

Referenced by asm_gen_walker::computeStackFrameSize().

bool arch_info::instruction_supports_immediate mnemonic    instruction,
typeNode   the_type,
const constant   c
 

Definition at line 362 of file arch_info.cc.

References get_Lir2Asm_for_instruction(), and constant::is_str().

Referenced by lir_gen_walker::load_const().

bool arch_info::is_valid   [inline]
 

Definition at line 64 of file arch_info.h.

References _valid.

Referenced by procNode::alloc_stack_local(), asmGenWalkerPhase::run(), regAllocPhase::run(), and lirGenWalkerPhase::run().

bool arch_info::load_arch_info const char *    pFile
 

Definition at line 542 of file arch_info.cc.

References _archName, _asmRegPrefixRemove, _asmRegPrefixRemoveSplit, _dataAlignChar, _dataAlignDouble, _dataAlignFloat, _dataAlignInt, _dataAlignLong, _dataAlignPtr, _dataAlignShort, _dataSizeDouble, _dataSizeFloat, _dataSizeInt, _dataSizeLong, _dataSizePtr, _dataSizeShort, arch_info::register_info::_name, _regDataTypeFpr, _regDataTypeGpr, _regFp, _regRetvalFixed, _regRetvalFloat, _regsAll, _regsCalleeSave, _regsCallerSave, _regsFpr, _regsGpr, _regSp, _stackAlign, _stackFrameMinSize, arch_info::register_info::_type, _valid, arch_info::register_info::is_valid(), arch_info_parser::parse(), reg_fpr, reg_frame_ptr, reg_gpr, reg_stack_ptr, register_info, and reset_info().

Referenced by process_flags().

void arch_info::make_template_replacements const LirInst   pInst,
Lir2Asm   pLir2Asm,
code_template   outputTemplate
[private]
 

Definition at line 484 of file arch_info.cc.

References _regsAll, LirInst::dataAlign, LirInst::dataSize, LirInst::dataValue, LirInst::dest, get_reg_name(), LirInst::has_base(), LirInst::has_dest(), LirInst::has_offset(), LirInst::has_opnd1(), LirInst::has_opnd2(), LirInst::memBase, LirInst::memOffset, LirInst::nodeExtra, LirInst::opnd1, LirInst::opnd2, Proc, procNode::stack_frame_size(), cbz_util::string_format(), cbz_util::string_replace(), LirInst::target, constant::to_string(), reg_or_const::to_string(), Register::to_string(), and Node::typ().

Referenced by get_code_for_instruction().

void arch_info::reset_info  
 

Definition at line 72 of file arch_info.cc.

References _asmConstPrefix, _asmLineComment, _asmRegPrefixAdd, _asmRegPrefixRemove, _asmRegPrefixRemoveSplit, _dataAlignChar, _dataAlignDouble, _dataAlignFloat, _dataAlignInt, _dataAlignLong, _dataAlignPtr, _dataAlignShort, _dataSizeDouble, _dataSizeFloat, _dataSizeInt, _dataSizeLong, _dataSizePtr, _dataSizeShort, _emulate3Address, _Lir2Asm_mnemonicLookup, _Lir2Asm_records, _maxDataAlign, _regDataTypeFpr, _regDataTypeGpr, _regFp, _regMap, _regRetvalFixed, _regRetvalFloat, _regsAll, _regsFpr, _regsGpr, _regSp, _regsParamFixed, _regsParamFloat, _stackAlign, _stackExtraBottom, _stackExtraTop, _stackFormalsOffset, _stackFrameMinSize, and _valid.

Referenced by arch_info(), and load_arch_info().

bool arch_info::types_need_conversion typeNode   srcType,
typeNode   destType
 

Definition at line 347 of file arch_info.cc.

References arch_info::Lir2Asm::_codeTemplate, and get_Lir2Asm_for_instruction().


Friends And Related Function Documentation

friend class arch_info_parser [friend]
 

Definition at line 45 of file arch_info.h.


Member Data Documentation

string arch_info::_archName [private]
 

Definition at line 321 of file arch_info.h.

Referenced by load_arch_info().

string arch_info::_asmConstPrefix [private]
 

Definition at line 328 of file arch_info.h.

Referenced by get_asm_const_prefix(), and reset_info().

string arch_info::_asmLineComment [private]
 

Definition at line 324 of file arch_info.h.

Referenced by get_asm_line_comment(), and reset_info().

string arch_info::_asmRegPrefixAdd [private]
 

Definition at line 325 of file arch_info.h.

Referenced by get_reg_name(), and reset_info().

string arch_info::_asmRegPrefixRemove [private]
 

Definition at line 326 of file arch_info.h.

Referenced by load_arch_info(), and reset_info().

vector<string> arch_info::_asmRegPrefixRemoveSplit [private]
 

Definition at line 327 of file arch_info.h.

Referenced by get_reg_name(), load_arch_info(), and reset_info().

int arch_info::_dataAlignChar [private]
 

Definition at line 358 of file arch_info.h.

Referenced by get_data_align_char(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignDouble [private]
 

Definition at line 363 of file arch_info.h.

Referenced by get_data_align_double(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignFloat [private]
 

Definition at line 362 of file arch_info.h.

Referenced by get_data_align_float(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignInt [private]
 

Definition at line 360 of file arch_info.h.

Referenced by get_data_align_int(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignLong [private]
 

Definition at line 361 of file arch_info.h.

Referenced by get_data_align_long(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignPtr [private]
 

Definition at line 364 of file arch_info.h.

Referenced by get_data_align_ptr(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataAlignShort [private]
 

Definition at line 359 of file arch_info.h.

Referenced by get_data_align_short(), get_max_data_align(), load_arch_info(), and reset_info().

int arch_info::_dataSizeDouble [private]
 

Definition at line 352 of file arch_info.h.

Referenced by get_data_size_double(), load_arch_info(), and reset_info().

int arch_info::_dataSizeFloat [private]
 

Definition at line 353 of file arch_info.h.

Referenced by get_data_size_float(), load_arch_info(), and reset_info().

int arch_info::_dataSizeInt [private]
 

Definition at line 350 of file arch_info.h.

Referenced by get_data_size_int(), load_arch_info(), and reset_info().

int arch_info::_dataSizeLong [private]
 

Definition at line 349 of file arch_info.h.

Referenced by get_data_size_long(), load_arch_info(), and reset_info().

int arch_info::_dataSizePtr [private]
 

Definition at line 354 of file arch_info.h.

Referenced by get_data_size_ptr(), load_arch_info(), and reset_info().

int arch_info::_dataSizeShort [private]
 

Definition at line 351 of file arch_info.h.

Referenced by get_data_size_short(), load_arch_info(), and reset_info().

bool arch_info::_emulate3Address [private]
 

Definition at line 374 of file arch_info.h.

Referenced by emulate_3_address(), and reset_info().

map_menmonic_to_record_set arch_info::_Lir2Asm_mnemonicLookup [private]
 

Definition at line 385 of file arch_info.h.

Referenced by get_Lir2Asm_for_instruction(), arch_info_parser::parse_Lir2Asm_item(), and reset_info().

Lir2Asm_list arch_info::_Lir2Asm_records [private]
 

Definition at line 380 of file arch_info.h.

Referenced by get_Lir2Asm_for_instruction(), arch_info_parser::parse_Lir2Asm_item(), and reset_info().

int arch_info::_maxDataAlign [mutable, private]
 

Definition at line 357 of file arch_info.h.

Referenced by get_max_data_align(), and reset_info().

unsigned int arch_info::_nextRegId [private]
 

Definition at line 318 of file arch_info.h.

Referenced by arch_info(), and arch_info_parser::parse_reg_list_item().

typeNode* arch_info::_regDataTypeFpr [private]
 

Definition at line 346 of file arch_info.h.

Referenced by get_reg_data_type_fpr(), load_arch_info(), and reset_info().

typeNode* arch_info::_regDataTypeGpr [private]
 

Definition at line 345 of file arch_info.h.

Referenced by get_reg_data_type_gpr(), load_arch_info(), and reset_info().

register_info* arch_info::_regFp [private]
 

Definition at line 338 of file arch_info.h.

Referenced by get_reg_fp(), load_arch_info(), and reset_info().

register_info_map arch_info::_regMap [private]
 

Definition at line 332 of file arch_info.h.

Referenced by find_register_info(), arch_info_parser::parse_reg_list_item(), and reset_info().

register_info* arch_info::_regRetvalFixed [private]
 

Definition at line 341 of file arch_info.h.

Referenced by get_reg_retval_fixed(), load_arch_info(), and reset_info().

register_info* arch_info::_regRetvalFloat [private]
 

Definition at line 342 of file arch_info.h.

Referenced by get_reg_retval_float(), load_arch_info(), and reset_info().

register_info_list arch_info::_regsAll [private]
 

Definition at line 331 of file arch_info.h.

Referenced by get_all_regs(), get_reg_by_index(), get_reg_name(), load_arch_info(), make_template_replacements(), and reset_info().

register_info_list arch_info::_regsCalleeSave [private]
 

Definition at line 344 of file arch_info.h.

Referenced by get_regs_callee_save(), and load_arch_info().

register_info_list arch_info::_regsCallerSave [private]
 

Definition at line 343 of file arch_info.h.

Referenced by get_regs_caller_save(), and load_arch_info().

register_info_list arch_info::_regsFpr [private]
 

Definition at line 336 of file arch_info.h.

Referenced by get_regs_fpr(), load_arch_info(), and reset_info().

register_info_list arch_info::_regsGpr [private]
 

Definition at line 335 of file arch_info.h.

Referenced by get_regs_gpr(), load_arch_info(), and reset_info().

register_info* arch_info::_regSp [private]
 

Definition at line 337 of file arch_info.h.

Referenced by get_reg_sp(), load_arch_info(), and reset_info().

register_info_list arch_info::_regsParamFixed [private]
 

Definition at line 339 of file arch_info.h.

Referenced by get_regs_param_fixed(), and reset_info().

register_info_list arch_info::_regsParamFloat [private]
 

Definition at line 340 of file arch_info.h.

Referenced by get_regs_param_float(), and reset_info().

int arch_info::_stackAlign [private]
 

Definition at line 370 of file arch_info.h.

Referenced by get_stack_align(), load_arch_info(), and reset_info().

int arch_info::_stackExtraBottom [private]
 

Definition at line 369 of file arch_info.h.

Referenced by get_stack_extra_bottom(), and reset_info().

int arch_info::_stackExtraTop [private]
 

Definition at line 368 of file arch_info.h.

Referenced by get_stack_extra_top(), and reset_info().

int arch_info::_stackFormalsOffset [private]
 

Definition at line 371 of file arch_info.h.

Referenced by get_stack_formals_offset(), and reset_info().

int arch_info::_stackFrameMinSize [private]
 

Definition at line 367 of file arch_info.h.

Referenced by get_stack_frame_min_size(), load_arch_info(), and reset_info().

bool arch_info::_tempBool [private]
 

Definition at line 391 of file arch_info.h.

Referenced by arch_info_parser::parse_Lir2Asm_item().

string arch_info::_tempParseString [private]
 

Definition at line 389 of file arch_info.h.

Referenced by arch_info_parser::parse_Lir2Asm_item().

register_info_list arch_info::_tempRegList [private]
 

Definition at line 390 of file arch_info.h.

Referenced by arch_info_parser::parse_Lir2Asm_item().

bool arch_info::_valid [private]
 

Definition at line 315 of file arch_info.h.

Referenced by is_valid(), load_arch_info(), and reset_info().

register_info arch_info::pseudo_reg_dest [static]
 

register_info arch_info::pseudo_reg_src1 [static]
 

register_info arch_info::pseudo_reg_src2 [static]
 


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

Generated on August 27, 2003
Back to the C-Breeze home page