#include <pi_pi2ge_pi_base.g.hh>
Inheritance diagram for lestes::md::instructions::pi_pi2ge_pi_base:

Note: A concrete derived class is target dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory.
Definition at line 82 of file pi_pi2ge_pi_base.g.hh.
| lestes::md::instructions::pi_pi2ge_pi_base::pi_pi2ge_pi_base | ( | ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > | a__pi_pi2ge_pi_base__pi_operands_getter, | |
| ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2id > | a__pi_pi2ge_pi_base__pi_id_getter, | |||
| ptr< ::lestes::md::instructions::pi_operand2ge_operand > | a__pi_pi2ge_pi_base__pi_op2ge_op_convertor, | |||
| ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > | a__pi_pi2ge_pi_base__pi_sp2ge_sp, | |||
| ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > | a__pi_pi2ge_pi_base__pi_op2count | |||
| ) | [protected] |
Generated constructor for class pi_pi2ge_pi_base.
Generated constructor for class pi_pi2ge_pi_base.
Definition at line 120 of file pi_pi2ge_pi_base.g.cc.
00125 : visitor_pi_pi2ge_pi_gen_base(), pi_operands_getter(checked(a__pi_pi2ge_pi_base__pi_operands_getter)), pi_id_getter(checked(a__pi_pi2ge_pi_base__pi_id_getter)), pi_op2ge_op_convertor(checked(a__pi_pi2ge_pi_base__pi_op2ge_op_convertor)), pi_sp2ge_sp(checked(a__pi_pi2ge_pi_base__pi_sp2ge_sp)), pi_op2count(checked(a__pi_pi2ge_pi_base__pi_op2count)) 00126 {}
| ptr<::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > lestes::md::instructions::pi_pi2ge_pi_base::pi_operands_getter_get | ( | ) | const |
The method pi_operands_getter_get returns the value of the field pi_pi2ge_pi_base::pi_operands_getter.
Definition at line 30 of file pi_pi2ge_pi_base.g.cc.
References pi_operands_getter.
00031 { 00032 return pi_operands_getter; 00033 }
| void lestes::md::instructions::pi_pi2ge_pi_base::pi_operands_getter_set | ( | const ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > & | x | ) |
The method pi_operands_getter_set sets the field pi_pi2ge_pi_base::pi_operands_getter to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_base::pi_operands_getter to. |
Definition at line 39 of file pi_pi2ge_pi_base.g.cc.
References pi_operands_getter.
00040 { 00041 pi_pi2ge_pi_base::pi_operands_getter = x; 00042 }
| ptr<::lestes::backend_v2::intercode::visitor_pi_pi2id > lestes::md::instructions::pi_pi2ge_pi_base::pi_id_getter_get | ( | ) | const |
The method pi_id_getter_get returns the value of the field pi_pi2ge_pi_base::pi_id_getter.
Definition at line 48 of file pi_pi2ge_pi_base.g.cc.
References pi_id_getter.
00049 { 00050 return pi_id_getter; 00051 }
| void lestes::md::instructions::pi_pi2ge_pi_base::pi_id_getter_set | ( | const ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2id > & | x | ) |
The method pi_id_getter_set sets the field pi_pi2ge_pi_base::pi_id_getter to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_base::pi_id_getter to. |
Definition at line 57 of file pi_pi2ge_pi_base.g.cc.
References pi_id_getter.
00058 { 00059 pi_pi2ge_pi_base::pi_id_getter = x; 00060 }
| ptr<::lestes::md::instructions::pi_operand2ge_operand > lestes::md::instructions::pi_pi2ge_pi_base::pi_op2ge_op_convertor_get | ( | ) | const |
The method pi_op2ge_op_convertor_get returns the value of the field pi_pi2ge_pi_base::pi_op2ge_op_convertor.
Definition at line 66 of file pi_pi2ge_pi_base.g.cc.
References pi_op2ge_op_convertor.
Referenced by lestes::md::instructions::pi_pi2ge_pi::visit_pi_call().
00067 { 00068 return pi_op2ge_op_convertor; 00069 }
| void lestes::md::instructions::pi_pi2ge_pi_base::pi_op2ge_op_convertor_set | ( | const ptr< ::lestes::md::instructions::pi_operand2ge_operand > & | x | ) |
The method pi_op2ge_op_convertor_set sets the field pi_pi2ge_pi_base::pi_op2ge_op_convertor to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_base::pi_op2ge_op_convertor to. |
Definition at line 75 of file pi_pi2ge_pi_base.g.cc.
References pi_op2ge_op_convertor.
00076 { 00077 pi_pi2ge_pi_base::pi_op2ge_op_convertor = x; 00078 }
| ptr<::lestes::std::map< srp<::lestes::backend_v2::intercode::pi_sp >, srp<::lestes::backend_v2::intercode::ge_sp > > > lestes::md::instructions::pi_pi2ge_pi_base::pi_sp2ge_sp_get | ( | ) | const |
The method pi_sp2ge_sp_get returns the value of the field pi_pi2ge_pi_base::pi_sp2ge_sp.
Definition at line 84 of file pi_pi2ge_pi_base.g.cc.
References pi_sp2ge_sp.
Referenced by lestes::md::instructions::pi_pi2ge_pi::visit_pi_sp().
00085 { 00086 return pi_sp2ge_sp; 00087 }
| void lestes::md::instructions::pi_pi2ge_pi_base::pi_sp2ge_sp_set | ( | const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > & | x | ) |
The method pi_sp2ge_sp_set sets the field pi_pi2ge_pi_base::pi_sp2ge_sp to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_base::pi_sp2ge_sp to. |
Definition at line 93 of file pi_pi2ge_pi_base.g.cc.
References pi_sp2ge_sp.
00094 { 00095 pi_pi2ge_pi_base::pi_sp2ge_sp = x; 00096 }
| ptr<::lestes::std::map< srp<::lestes::backend_v2::intercode::pi_operand >, ulint > > lestes::md::instructions::pi_pi2ge_pi_base::pi_op2count_get | ( | ) | const |
The method pi_op2count_get returns the value of the field pi_pi2ge_pi_base::pi_op2count.
Definition at line 102 of file pi_pi2ge_pi_base.g.cc.
References pi_op2count.
00103 { 00104 return pi_op2count; 00105 }
| void lestes::md::instructions::pi_pi2ge_pi_base::pi_op2count_set | ( | const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > & | x | ) |
The method pi_op2count_set sets the field pi_pi2ge_pi_base::pi_op2count to the given value.
| [in] | x | The new value to set pi_pi2ge_pi_base::pi_op2count to. |
Definition at line 111 of file pi_pi2ge_pi_base.g.cc.
References pi_op2count.
00112 { 00113 pi_pi2ge_pi_base::pi_op2count = x; 00114 }
| ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::instructions::pi_pi2ge_pi_base::convert | ( | ptr< ::lestes::backend_v2::intercode::pi_pi > | pi, | |
| ptr< ::lestes::md::instructions::pi_pi2ge_pi_template_base > | pat | |||
| ) |
Referenced by lestes::md::instructions::pi_pi2ge_pi::visit_pi_add(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ba(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_band(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_be(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bf(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bg(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bl(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bn(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bne(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bng(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bnl(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bnot(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bor(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bt(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_bxor(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_cmp(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_cvt(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_div(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_gat(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_land(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ld(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_lda(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ldi(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ldp(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ldpv(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_ldv(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_lnot(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_lor(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_lxor(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_mod(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_mov(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_mul(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_neg(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_rem(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sal(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sar(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbe(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbg(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbl(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbne(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbng(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sbnl(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_shl(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_shr(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_st(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_sti(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_stiv(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_stp(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_stpv(), lestes::md::instructions::pi_pi2ge_pi::visit_pi_stv(), and lestes::md::instructions::pi_pi2ge_pi::visit_pi_sub().
| void lestes::md::instructions::pi_pi2ge_pi_base::setup_dependencies | ( | ptr< ::lestes::backend_v2::intercode::ge_pi > | ge | ) |
| ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::instructions::pi_pi2ge_pi_base::generate_ge_code | ( | ptr< ::lestes::backend_v2::intercode::pi_pi > | pi, | |
| ptr< ::lestes::md::instructions::pi_pi2ge_pi_template_base > | pat, | |||
| ptr< vector< ulint > > | selected_instrs, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| bool lestes::md::instructions::pi_pi2ge_pi_base::find_consistent_instructions | ( | ptr< ::lestes::backend_v2::intercode::pi_pi > | pi, | |
| ptr< ::lestes::md::instructions::pi_pi2ge_pi_template_base > | pat, | |||
| ptr< vector< ulint > > | selected_instrs, | |||
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types, | |||
| ulint | curr_instrs_pat | |||
| ) |
| bool lestes::md::instructions::pi_pi2ge_pi_base::is_instruction_consistent | ( | ptr< ::lestes::md::instructions::instruction_group_base > | instr_pat, | |
| ptr< ::lestes::md::instructions::tm_instr_base > | instr_version, | |||
| ptr< ::lestes::backend_v2::intercode::pi_pi > | pi, | |||
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| virtual bool lestes::md::instructions::pi_pi2ge_pi_base::targetmachine__is_instruction_consistent | ( | ptr< ::lestes::md::instructions::tm_instr_base > | instr_version, | |
| ptr< ::lestes::backend_v2::intercode::pi_pi > | pi | |||
| ) | [pure virtual] |
Function that allows target-machine dependent instruction consistency verification.
Implemented in lestes::md::instructions::pi_pi2ge_pi.
| bool lestes::md::instructions::pi_pi2ge_pi_base::is_operand_compatible1 | ( | ptr< ::lestes::md::instructions::tm_instr_op_base > | instr_op, | |
| ptr< ::lestes::backend_v2::intercode::pi_operand > | pi_op, | |||
| ulint | type | |||
| ) |
| bool lestes::md::instructions::pi_pi2ge_pi_base::is_operand_compatible2 | ( | ptr< ::lestes::md::instructions::tm_instr_op_base > | op1, | |
| ptr< ::lestes::md::instructions::tm_instr_op_base > | op2, | |||
| ulint | type | |||
| ) |
| bool lestes::md::instructions::pi_pi2ge_pi_base::is_in | ( | ptr< vector< ulint > > | list, | |
| ulint | value | |||
| ) |
Traverses a list and tells whether a value is contained.
| list | A list. | |
| value | A value. |
Definition at line 521 of file pi_pi2ge_pi_base.cc.
00521 { 00522 for(uint i=0; i<list->size(); ++i) { 00523 if ( (*list)[i]==value ) { 00524 return true; 00525 } 00526 } 00527 return false; 00528 }
| void lestes::md::instructions::pi_pi2ge_pi_base::add_selected_operands | ( | ptr< ::lestes::md::instructions::instruction_group_base > | instr_pat, | |
| ptr< ::lestes::md::instructions::tm_instr_base > | instr_version, | |||
| ptr< ::lestes::backend_v2::intercode::pi_pi > | pi, | |||
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| void lestes::md::instructions::pi_pi2ge_pi_base::remove_selected_operands | ( | ptr< ::lestes::md::instructions::instruction_group_base > | instr_pat, | |
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| ptr< ::lestes::md::instructions::tm_instr_op_base > lestes::md::instructions::pi_pi2ge_pi_base::find_op_by_id | ( | ptr< ::lestes::std::vector< srp< ::lestes::md::instructions::tm_instr_op_base > > > | list, | |
| ulint | id | |||
| ) |
| ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_base::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi.
Definition at line 128 of file pi_pi2ge_pi_base.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::reflection_get().
Referenced by lestes::md::instructions::pi_pi2ge_pi::reflection_get().
00129 { 00130 if (!reflection) { 00131 typedef class_reflection::field_metadata md; 00132 typedef class_reflection::field_metadata_list mdlist; 00133 ptr<mdlist> mdl = mdlist::create(); 00134 mdl->push_back( md::create( "pi_operands_getter", "visitor_pi_pi2pi_operands" ) ); 00135 mdl->push_back( md::create( "pi_id_getter", "visitor_pi_pi2id" ) ); 00136 mdl->push_back( md::create( "pi_op2ge_op_convertor", "pi_operand2ge_operand" ) ); 00137 mdl->push_back( md::create( "pi_sp2ge_sp", "map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > >" ) ); 00138 mdl->push_back( md::create( "pi_op2count", "map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint >" ) ); 00139 reflection = reflection_list::create( ::lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::reflection_get() ); 00140 reflection->push_back( class_reflection::create( "pi_pi2ge_pi_base", mdl ) ); 00141 } 00142 return reflection; 00143 }
| ptr< object::field_list_list > lestes::md::instructions::pi_pi2ge_pi_base::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi.
Definition at line 145 of file pi_pi2ge_pi_base.g.cc.
References lestes::std::list< T >::create(), and lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::field_values_get().
Referenced by lestes::md::instructions::pi_pi2ge_pi::field_values_get().
00146 { 00147 ptr < field_list_list > result = ::lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::field_values_get(); 00148 result->push_back( value_list::create() ); 00149 result->back()->push_back( this->pi_operands_getter ); 00150 result->push_back( value_list::create() ); 00151 result->back()->push_back( this->pi_id_getter ); 00152 result->push_back( value_list::create() ); 00153 result->back()->push_back( this->pi_op2ge_op_convertor ); 00154 result->push_back( value_list::create() ); 00155 result->back()->push_back( this->pi_sp2ge_sp ); 00156 result->push_back( value_list::create() ); 00157 result->back()->push_back( this->pi_op2count ); 00158 return result; 00159 }
| void lestes::md::instructions::pi_pi2ge_pi_base::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class pi_pi2ge_pi_base.
Marking routine is used for garbage collection.
Reimplemented from lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi.
Definition at line 166 of file pi_pi2ge_pi_base.g.cc.
References lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::gc_mark().
Referenced by lestes::md::instructions::pi_pi2ge_pi::gc_mark().
00167 { 00168 ::lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base::gc_mark(); 00169 }
srp< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > lestes::md::instructions::pi_pi2ge_pi_base::pi_operands_getter [private] |
Visitor instance that gets list of operand of given pseudoinstruction.
Definition at line 160 of file pi_pi2ge_pi_base.g.hh.
Referenced by pi_operands_getter_get(), and pi_operands_getter_set().
srp< ::lestes::backend_v2::intercode::visitor_pi_pi2id > lestes::md::instructions::pi_pi2ge_pi_base::pi_id_getter [private] |
Visitor instance that gets id of given pseudoinstruction.
Definition at line 162 of file pi_pi2ge_pi_base.g.hh.
Referenced by pi_id_getter_get(), and pi_id_getter_set().
srp< ::lestes::md::instructions::pi_operand2ge_operand > lestes::md::instructions::pi_pi2ge_pi_base::pi_op2ge_op_convertor [private] |
Visitor instance that converts pi_operand to a corresponding ge_operand.
Definition at line 164 of file pi_pi2ge_pi_base.g.hh.
Referenced by pi_op2ge_op_convertor_get(), and pi_op2ge_op_convertor_set().
srp< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > lestes::md::instructions::pi_pi2ge_pi_base::pi_sp2ge_sp [private] |
Map of already converted pi-sequencepoints to resulting ge-sequencepoints.
Definition at line 166 of file pi_pi2ge_pi_base.g.hh.
Referenced by pi_sp2ge_sp_get(), and pi_sp2ge_sp_set().
srp< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > lestes::md::instructions::pi_pi2ge_pi_base::pi_op2count [private] |
Usage count of pi_operands within the functions body.
Definition at line 168 of file pi_pi2ge_pi_base.g.hh.
Referenced by pi_op2count_get(), and pi_op2count_set().
ptr< object::reflection_list > lestes::md::instructions::pi_pi2ge_pi_base::reflection = reflection [static, private] |
Reimplemented from lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base.
Reimplemented in lestes::md::instructions::pi_pi2ge_pi.
Definition at line 169 of file pi_pi2ge_pi_base.g.hh.
Referenced by reflection_get().
1.5.1-20070107