#include <move_generator.g.hh>
Inheritance diagram for lestes::md::registers::move_generator:

This class is not target-machine dependent. A tempalte of copy code is acquired from field of register operand (tm_instr_op_reg class) - move_templates.
Definition at line 100 of file move_generator.g.hh.
| lestes::md::registers::move_generator::move_generator | ( | ) | [protected] |
Generated constructor for class move_generator.
Generated constructor for class move_generator.
Definition at line 40 of file move_generator.g.cc.
Referenced by create().
| ptr<vector<srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::registers::move_generator::generate_load_from_memory | ( | ptr< ::lestes::backend_v2::intercode::ge_operand_mem > | op_mem, | |
| ptr< ::lestes::backend_v2::intercode::ge_operand_reg > | op_reg, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg | |||
| ) |
| ptr<vector<srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::registers::move_generator::generate_store_to_memory | ( | ptr< ::lestes::backend_v2::intercode::ge_operand_reg > | op_reg, | |
| ptr< ::lestes::md::registers::tm_register_base > | reg, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand_mem > | op_mem | |||
| ) |
| ptr<vector<srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::registers::move_generator::generate_copy_to_register | ( | ptr< ::lestes::backend_v2::intercode::ge_operand_reg > | op_reg_src, | |
| ptr< ::lestes::md::registers::tm_register_base > | reg_src, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand_reg > | op_reg_dst, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg_dst | |||
| ) |
| ptr<vector<srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::registers::move_generator::generate_move | ( | ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_src, | |
| ptr< ::lestes::md::registers::tm_register_base > | reg_src, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_dst, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg_dst | |||
| ) |
| ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > lestes::md::registers::move_generator::generate_ge_code | ( | ptr< ::lestes::backend_v2::intercode::ge_operand > | input_op, | |
| ptr< ::lestes::md::registers::tm_register_base > | input_reg, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand > | output_op, | |||
| ptr< ::lestes::md::registers::tm_register_base > | output_reg, | |||
| 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::registers::move_generator::find_consistent_instructions | ( | ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_src, | |
| ptr< ::lestes::md::registers::tm_register_base > | reg_src, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_dst, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg_dst, | |||
| 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::registers::move_generator::is_instruction_consistent | ( | ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_src, | |
| ptr< ::lestes::md::registers::tm_register_base > | reg_src, | |||
| ptr< ::lestes::backend_v2::intercode::ge_operand > | op_reg_dst, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg_dst, | |||
| ptr< ::lestes::md::instructions::instruction_group_base > | instr_pat, | |||
| ptr< ::lestes::md::instructions::tm_instr_base > | instr_version, | |||
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| bool lestes::md::registers::move_generator::is_operand_compatible1 | ( | ptr< ::lestes::md::instructions::tm_instr_op_base > | instr_op, | |
| ptr< ::lestes::backend_v2::intercode::ge_operand > | ge_op, | |||
| ulint | type, | |||
| ptr< ::lestes::md::registers::tm_register_base > | reg | |||
| ) |
| bool lestes::md::registers::move_generator::is_operand_compatible2 | ( | ptr< ::lestes::md::instructions::tm_instr_op_base > | op1, | |
| ptr< ::lestes::md::instructions::tm_instr_op_base > | op2, | |||
| ulint | type | |||
| ) |
| void lestes::md::registers::move_generator::add_selected_operands | ( | ptr< ::lestes::backend_v2::intercode::ge_operand > | input_op, | |
| ptr< ::lestes::backend_v2::intercode::ge_operand > | output_op, | |||
| ptr< ::lestes::md::instructions::instruction_group_base > | instr_pat, | |||
| ptr< ::lestes::md::instructions::tm_instr_base > | instr_version, | |||
| ptr< map< ulint, srp< ::lestes::md::instructions::tm_instr_op_base > > > | selected_operands, | |||
| ptr< map< ulint, ulint > > | selected_op_types | |||
| ) |
| void lestes::md::registers::move_generator::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::registers::move_generator::find_op_by_id | ( | ptr< ::lestes::std::vector< srp< ::lestes::md::instructions::tm_instr_op_base > > > | list, | |
| ulint | id | |||
| ) |
| ptr< move_generator > lestes::md::registers::move_generator::create | ( | void | ) | [static] |
First generated factory method for class move_generator.
This factory method for class move_generator takes values of all fields as arguments.
Definition at line 31 of file move_generator.g.cc.
References move_generator().
00032 { 00033 return ptr< move_generator > ( new move_generator() ); 00034 }
| ptr< object::reflection_list > lestes::md::registers::move_generator::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 44 of file move_generator.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
00045 { 00046 if (!reflection) { 00047 typedef class_reflection::field_metadata md; 00048 typedef class_reflection::field_metadata_list mdlist; 00049 ptr<mdlist> mdl = mdlist::create(); 00050 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00051 reflection->push_back( class_reflection::create( "move_generator", mdl ) ); 00052 } 00053 return reflection; 00054 }
| ptr< object::field_list_list > lestes::md::registers::move_generator::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Definition at line 56 of file move_generator.g.cc.
References lestes::std::object::field_values_get().
00057 { 00058 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00059 return result; 00060 }
| void lestes::md::registers::move_generator::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class move_generator.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Definition at line 67 of file move_generator.g.cc.
References lestes::std::mem::keystone::gc_mark().
00068 { 00069 ::lestes::std::object::gc_mark(); 00070 }
ptr< object::reflection_list > lestes::md::registers::move_generator::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Definition at line 147 of file move_generator.g.hh.
Referenced by reflection_get().
1.5.1-20070107