#include <ge.g.hh>
Inheritance diagram for lestes::backend_v2::intercode::ge_pi:

Public Types | |
| enum | kind_type { PI, SP, CALL } |
| Pseudoinstruction kinds. More... | |
| enum | property_id_type { PROPERTY_SPILLGEN_INFO } |
| Property ids. More... | |
Public Member Functions | |
| ptr< ::lestes::md::instructions::tm_instr_base > | instruction_get () const |
| The method instruction_get returns the value of the field ge_pi::instruction. | |
| void | instruction_set (const ptr< ::lestes::md::instructions::tm_instr_base > &) |
| The method instruction_set sets the field ge_pi::instruction to the given value. | |
| ptr< ::lestes::backend_v2::intercode::pi_pi > | pi_source_get () const |
| The method pi_source_get returns the value of the field ge_pi::pi_source. | |
| void | pi_source_set (const ptr< ::lestes::backend_v2::intercode::pi_pi > &) |
| The method pi_source_set sets the field ge_pi::pi_source to the given value. | |
| ptr< ::lestes::std::vector< srp< ge_operand > > > | operands_input_get () const |
| The method operands_input_get returns the value of the field ge_pi::operands_input. | |
| void | operands_input_set (const ptr< ::lestes::std::vector< srp< ge_operand > > > &) |
| The method operands_input_set sets the field ge_pi::operands_input to the given value. | |
| ptr< ::lestes::std::vector< srp< ge_operand > > > | operands_output_get () const |
| The method operands_output_get returns the value of the field ge_pi::operands_output. | |
| void | operands_output_set (const ptr< ::lestes::std::vector< srp< ge_operand > > > &) |
| The method operands_output_set sets the field ge_pi::operands_output to the given value. | |
| ptr< ::lestes::std::set< srp< ge_pi > > > | dependencies_get () const |
| The method dependencies_get returns the value of the field ge_pi::dependencies. | |
| void | dependencies_set (const ptr< ::lestes::std::set< srp< ge_pi > > > &) |
| The method dependencies_set sets the field ge_pi::dependencies to the given value. | |
| ptr< ::lestes::std::vector< srp< ge_sp > > > | jmp_targets_get () const |
| The method jmp_targets_get returns the value of the field ge_pi::jmp_targets. | |
| void | jmp_targets_set (const ptr< ::lestes::std::vector< srp< ge_sp > > > &) |
| The method jmp_targets_set sets the field ge_pi::jmp_targets to the given value. | |
| ulint | schedule_pos_get () const |
| The method schedule_pos_get returns the value of the field ge_pi::schedule_pos. | |
| void | schedule_pos_set (ulint) |
| The method schedule_pos_set sets the field ge_pi::schedule_pos to the given value. | |
| ptr< ::lestes::backend_v2::workers::basic_block > | bb_get () const |
| The method bb_get returns the value of the field ge_pi::bb. | |
| void | bb_set (const ptr< ::lestes::backend_v2::workers::basic_block > &) |
| The method bb_set sets the field ge_pi::bb to the given value. | |
| ptr< ::lestes::std::map< ulint, lstring > > | properties_get () const |
| The method properties_get returns the value of the field ge_pi::properties. | |
| void | properties_set (const ptr< ::lestes::std::map< ulint, lstring > > &) |
| The method properties_set sets the field ge_pi::properties to the given value. | |
| virtual ge_pi::kind_type | kind_get () |
| Returns kind of the pseudoinstruction. | |
| bool | validate () |
| Tells whether the pseudoinstruction is consistent with target machine instruction that it represents. | |
| virtual lstring | accept_visitor_ge_pi2lstring_gen_base (ptr< visitor_ge_pi2lstring_gen_base > v) |
| virtual ptr< reflection_list > | reflection_get () const |
| for purposes of dumping | |
| virtual ptr< field_list_list > | field_values_get () const |
| for purposes of dumping | |
Static Public Member Functions | |
| static ptr< ge_pi > | create (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties) |
| First generated factory method for class ge_pi. | |
| static ptr< ge_pi > | create (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source) |
| Second generated factory method for class ge_pi. | |
Protected Member Functions | |
| ge_pi (ptr< ::lestes::md::instructions::tm_instr_base > a__ge_pi__instruction, ptr< ::lestes::backend_v2::intercode::pi_pi > a__ge_pi__pi_source, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_input, ptr< ::lestes::std::vector< srp< ge_operand > > > a__ge_pi__operands_output, ptr< ::lestes::std::set< srp< ge_pi > > > a__ge_pi__dependencies, ptr< ::lestes::std::vector< srp< ge_sp > > > a__ge_pi__jmp_targets, ulint a__ge_pi__schedule_pos, ptr< ::lestes::backend_v2::workers::basic_block > a__ge_pi__bb, ptr< ::lestes::std::map< ulint, lstring > > a__ge_pi__properties) | |
| Generated constructor for class ge_pi. | |
| virtual void | gc_mark () |
| Marking routine for class ge_pi. | |
Private Attributes | |
| srp< ::lestes::md::instructions::tm_instr_base > | instruction |
| A description of a target machine instruction represented by this pseudoinstruction. | |
| srp< ::lestes::backend_v2::intercode::pi_pi > | pi_source |
| A pi-level pseudoinstruction that the ge_pi pseudoinstruction derives from. | |
| srp< ::lestes::std::vector< srp< ge_operand > > > | operands_input |
| Pseudoinstruction's input operands. | |
| srp< ::lestes::std::vector< srp< ge_operand > > > | operands_output |
| Pseudoinstruction's output operands. | |
| srp< ::lestes::std::set< srp< ge_pi > > > | dependencies |
| A set of pseudoinstructions that this one depends on. | |
| srp< ::lestes::std::vector< srp< ge_sp > > > | jmp_targets |
| If the pseudoinstruction represents jump instruction then this is the list of its jump targets. | |
| ulint | schedule_pos |
| A position in a function body schedule. | |
| srp< ::lestes::backend_v2::workers::basic_block > | bb |
| A basic block that contains this pseudoinstruction. | |
| srp< ::lestes::std::map< ulint, lstring > > | properties |
| Custom properties. | |
Static Private Attributes | |
| static ptr< reflection_list > | reflection = reflection |
Ge-level intercode is intercode used by backend. Every ge_pi pseudoinstruction represents single target machine instruction.
Definition at line 125 of file ge.g.hh.
| lestes::backend_v2::intercode::ge_pi::ge_pi | ( | ptr< ::lestes::md::instructions::tm_instr_base > | a__ge_pi__instruction, | |
| ptr< ::lestes::backend_v2::intercode::pi_pi > | a__ge_pi__pi_source, | |||
| ptr< ::lestes::std::vector< srp< ge_operand > > > | a__ge_pi__operands_input, | |||
| ptr< ::lestes::std::vector< srp< ge_operand > > > | a__ge_pi__operands_output, | |||
| ptr< ::lestes::std::set< srp< ge_pi > > > | a__ge_pi__dependencies, | |||
| ptr< ::lestes::std::vector< srp< ge_sp > > > | a__ge_pi__jmp_targets, | |||
| ulint | a__ge_pi__schedule_pos, | |||
| ptr< ::lestes::backend_v2::workers::basic_block > | a__ge_pi__bb, | |||
| ptr< ::lestes::std::map< ulint, lstring > > | a__ge_pi__properties | |||
| ) | [protected] |
Generated constructor for class ge_pi.
Generated constructor for class ge_pi.
Definition at line 233 of file ge.g.cc.
Referenced by create().
00242 : ::lestes::std::object(), instruction(a__ge_pi__instruction), pi_source(a__ge_pi__pi_source), operands_input(checked(a__ge_pi__operands_input)), operands_output(checked(a__ge_pi__operands_output)), dependencies(checked(a__ge_pi__dependencies)), jmp_targets(a__ge_pi__jmp_targets), schedule_pos(a__ge_pi__schedule_pos), bb(a__ge_pi__bb), properties(a__ge_pi__properties) 00243 {}
| ptr<::lestes::md::instructions::tm_instr_base > lestes::backend_v2::intercode::ge_pi::instruction_get | ( | ) | const |
The method instruction_get returns the value of the field ge_pi::instruction.
Definition at line 31 of file ge.g.cc.
References instruction.
00032 { 00033 return instruction; 00034 }
| void lestes::backend_v2::intercode::ge_pi::instruction_set | ( | const ptr< ::lestes::md::instructions::tm_instr_base > & | x | ) |
The method instruction_set sets the field ge_pi::instruction to the given value.
| [in] | x | The new value to set ge_pi::instruction to. |
Definition at line 40 of file ge.g.cc.
References instruction.
00041 { 00042 ge_pi::instruction = x; 00043 }
| ptr<::lestes::backend_v2::intercode::pi_pi > lestes::backend_v2::intercode::ge_pi::pi_source_get | ( | ) | const |
The method pi_source_get returns the value of the field ge_pi::pi_source.
Definition at line 49 of file ge.g.cc.
References pi_source.
00050 { 00051 return pi_source; 00052 }
| void lestes::backend_v2::intercode::ge_pi::pi_source_set | ( | const ptr< ::lestes::backend_v2::intercode::pi_pi > & | x | ) |
The method pi_source_set sets the field ge_pi::pi_source to the given value.
| [in] | x | The new value to set ge_pi::pi_source to. |
Definition at line 58 of file ge.g.cc.
References pi_source.
00059 { 00060 ge_pi::pi_source = x; 00061 }
| ptr<::lestes::std::vector< srp< ge_operand > > > lestes::backend_v2::intercode::ge_pi::operands_input_get | ( | ) | const |
The method operands_input_get returns the value of the field ge_pi::operands_input.
Definition at line 67 of file ge.g.cc.
References operands_input.
00068 { 00069 return operands_input; 00070 }
| void lestes::backend_v2::intercode::ge_pi::operands_input_set | ( | const ptr< ::lestes::std::vector< srp< ge_operand > > > & | x | ) |
The method operands_input_set sets the field ge_pi::operands_input to the given value.
| [in] | x | The new value to set ge_pi::operands_input to. |
Definition at line 76 of file ge.g.cc.
References operands_input.
00077 { 00078 ge_pi::operands_input = x; 00079 }
| ptr<::lestes::std::vector< srp< ge_operand > > > lestes::backend_v2::intercode::ge_pi::operands_output_get | ( | ) | const |
The method operands_output_get returns the value of the field ge_pi::operands_output.
Definition at line 85 of file ge.g.cc.
References operands_output.
00086 { 00087 return operands_output; 00088 }
| void lestes::backend_v2::intercode::ge_pi::operands_output_set | ( | const ptr< ::lestes::std::vector< srp< ge_operand > > > & | x | ) |
The method operands_output_set sets the field ge_pi::operands_output to the given value.
| [in] | x | The new value to set ge_pi::operands_output to. |
Definition at line 94 of file ge.g.cc.
References operands_output.
00095 { 00096 ge_pi::operands_output = x; 00097 }
| ptr<::lestes::std::set< srp< ge_pi > > > lestes::backend_v2::intercode::ge_pi::dependencies_get | ( | ) | const |
The method dependencies_get returns the value of the field ge_pi::dependencies.
Definition at line 103 of file ge.g.cc.
References dependencies.
00104 { 00105 return dependencies; 00106 }
| void lestes::backend_v2::intercode::ge_pi::dependencies_set | ( | const ptr< ::lestes::std::set< srp< ge_pi > > > & | x | ) |
The method dependencies_set sets the field ge_pi::dependencies to the given value.
| [in] | x | The new value to set ge_pi::dependencies to. |
Definition at line 112 of file ge.g.cc.
References dependencies.
00113 { 00114 ge_pi::dependencies = x; 00115 }
| ptr<::lestes::std::vector< srp< ge_sp > > > lestes::backend_v2::intercode::ge_pi::jmp_targets_get | ( | ) | const |
The method jmp_targets_get returns the value of the field ge_pi::jmp_targets.
Definition at line 121 of file ge.g.cc.
References jmp_targets.
00122 { 00123 return jmp_targets; 00124 }
| void lestes::backend_v2::intercode::ge_pi::jmp_targets_set | ( | const ptr< ::lestes::std::vector< srp< ge_sp > > > & | x | ) |
The method jmp_targets_set sets the field ge_pi::jmp_targets to the given value.
| [in] | x | The new value to set ge_pi::jmp_targets to. |
Definition at line 130 of file ge.g.cc.
References jmp_targets.
00131 { 00132 ge_pi::jmp_targets = x; 00133 }
| ulint lestes::backend_v2::intercode::ge_pi::schedule_pos_get | ( | ) | const |
The method schedule_pos_get returns the value of the field ge_pi::schedule_pos.
Definition at line 139 of file ge.g.cc.
References schedule_pos.
00140 { 00141 return schedule_pos; 00142 }
| void lestes::backend_v2::intercode::ge_pi::schedule_pos_set | ( | ulint | x | ) |
The method schedule_pos_set sets the field ge_pi::schedule_pos to the given value.
| [in] | x | The new value to set ge_pi::schedule_pos to. |
Definition at line 148 of file ge.g.cc.
References schedule_pos.
00149 { 00150 ge_pi::schedule_pos = x; 00151 }
| ptr<::lestes::backend_v2::workers::basic_block > lestes::backend_v2::intercode::ge_pi::bb_get | ( | ) | const |
| void lestes::backend_v2::intercode::ge_pi::bb_set | ( | const ptr< ::lestes::backend_v2::workers::basic_block > & | x | ) |
| ptr<::lestes::std::map< ulint, lstring > > lestes::backend_v2::intercode::ge_pi::properties_get | ( | ) | const |
The method properties_get returns the value of the field ge_pi::properties.
Definition at line 175 of file ge.g.cc.
References properties.
00176 { 00177 return properties; 00178 }
| void lestes::backend_v2::intercode::ge_pi::properties_set | ( | const ptr< ::lestes::std::map< ulint, lstring > > & | x | ) |
The method properties_set sets the field ge_pi::properties to the given value.
| [in] | x | The new value to set ge_pi::properties to. |
Definition at line 184 of file ge.g.cc.
References properties.
00185 { 00186 ge_pi::properties = x; 00187 }
| ge_pi::kind_type lestes::backend_v2::intercode::ge_pi::kind_get | ( | ) | [virtual] |
Returns kind of the pseudoinstruction.
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 19 of file ge.cc.
References PI.
Referenced by validate().
00020 { 00021 return ge_pi::PI; 00022 }
| bool lestes::backend_v2::intercode::ge_pi::validate | ( | ) |
Tells whether the pseudoinstruction is consistent with target machine instruction that it represents.
Definition at line 45 of file ge.cc.
References instruction, kind_get(), operands_input, operands_output, and SP.
00045 { 00046 if ( !instruction && kind_get()!=SP ) { 00047 return false; 00048 } 00049 00050 ptr<ge_operand_vector__type> ge_ops = operands_input; 00051 ptr<tm_operand_vector__type> tm_ops = instruction->operands_input_get(); 00052 00053 if ( ge_ops->size() != tm_ops->size() ) { 00054 return false; 00055 } 00056 00057 tm_operand_vector__type::iterator it2 = tm_ops->begin(); 00058 for(ge_operand_vector__type::iterator it1 = ge_ops->begin(); it1!= ge_ops->end(); ++it1, ++it2) { 00059 ptr<ge_operand> op1 = *it1; 00060 ptr<tm_instr_op_base> op2 = *it2; 00061 00062 if ( (ulint)op1->kind_get() != (ulint)op2->kind_get() ) { 00063 return false; 00064 } 00065 00066 if ( op2->allowed_types_get()->find(op1->type_get()->id_get())==op2->allowed_types_get()->end() ) { 00067 return false; 00068 } 00069 } 00070 00071 ge_ops = operands_output; 00072 tm_ops = instruction->operands_output_get(); 00073 00074 if ( ge_ops->size() != tm_ops->size() ) { 00075 return false; 00076 } 00077 00078 it2 = tm_ops->begin(); 00079 for(ge_operand_vector__type::iterator it1 = ge_ops->begin(); it1!= ge_ops->end(); ++it1, ++it2) { 00080 ptr<ge_operand> op1 = *it1; 00081 ptr<tm_instr_op_base> op2 = *it2; 00082 00083 if ( (ulint)op1->kind_get() != (ulint)op2->kind_get() ) { 00084 return false; 00085 } 00086 00087 if ( op2->allowed_types_get()->find(op1->type_get()->id_get())==op2->allowed_types_get()->end() ) { 00088 return false; 00089 } 00090 } 00091 00092 return true; 00093 }
| lstring lestes::backend_v2::intercode::ge_pi::accept_visitor_ge_pi2lstring_gen_base | ( | ptr< visitor_ge_pi2lstring_gen_base > | v | ) | [virtual] |
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 189 of file ge.g.cc.
| ptr< ge_pi > lestes::backend_v2::intercode::ge_pi::create | ( | ptr< ::lestes::md::instructions::tm_instr_base > | a__ge_pi__instruction, | |
| ptr< ::lestes::backend_v2::intercode::pi_pi > | a__ge_pi__pi_source, | |||
| ptr< ::lestes::std::vector< srp< ge_operand > > > | a__ge_pi__operands_input, | |||
| ptr< ::lestes::std::vector< srp< ge_operand > > > | a__ge_pi__operands_output, | |||
| ptr< ::lestes::std::set< srp< ge_pi > > > | a__ge_pi__dependencies, | |||
| ptr< ::lestes::std::vector< srp< ge_sp > > > | a__ge_pi__jmp_targets, | |||
| ulint | a__ge_pi__schedule_pos, | |||
| ptr< ::lestes::backend_v2::workers::basic_block > | a__ge_pi__bb, | |||
| ptr< ::lestes::std::map< ulint, lstring > > | a__ge_pi__properties | |||
| ) | [static] |
First generated factory method for class ge_pi.
This factory method for class ge_pi takes values of all fields as arguments.
Definition at line 198 of file ge.g.cc.
References ge_pi().
Referenced by create().
00207 { 00208 return ptr< ge_pi > ( new ge_pi(a__ge_pi__instruction, 00209 a__ge_pi__pi_source, 00210 a__ge_pi__operands_input, 00211 a__ge_pi__operands_output, 00212 a__ge_pi__dependencies, 00213 a__ge_pi__jmp_targets, 00214 a__ge_pi__schedule_pos, 00215 a__ge_pi__bb, 00216 a__ge_pi__properties) ); 00217 }
| ptr< ge_pi > lestes::backend_v2::intercode::ge_pi::create | ( | ptr< ::lestes::md::instructions::tm_instr_base > | a__ge_pi__instruction, | |
| ptr< ::lestes::backend_v2::intercode::pi_pi > | a__ge_pi__pi_source | |||
| ) | [static] |
Second generated factory method for class ge_pi.
This factory method for class ge_pi uses initializers.
Reimplemented in lestes::backend_v2::intercode::ge_sp.
Definition at line 223 of file ge.g.cc.
References create(), and ge_pi().
00225 { 00226 return ptr< ge_pi > ( new ge_pi(a__ge_pi__instruction, a__ge_pi__pi_source, ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::vector< srp< ge_operand > > ::create(), ::lestes::std::set< srp< ge_pi > > ::create(), NULL, 0, NULL, NULL) ); 00227 }
| ptr< object::reflection_list > lestes::backend_v2::intercode::ge_pi::reflection_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 245 of file ge.g.cc.
References lestes::std::list< T >::create(), reflection, and lestes::std::object::reflection_get().
Referenced by lestes::backend_v2::intercode::ge_call::reflection_get(), and lestes::backend_v2::intercode::ge_sp::reflection_get().
00246 { 00247 if (!reflection) { 00248 typedef class_reflection::field_metadata md; 00249 typedef class_reflection::field_metadata_list mdlist; 00250 ptr<mdlist> mdl = mdlist::create(); 00251 mdl->push_back( md::create( "instruction", "tm_instr_base" ) ); 00252 mdl->push_back( md::create( "pi_source", "pi_pi" ) ); 00253 mdl->push_back( md::create( "operands_input", "vector< srp< ge_operand > >" ) ); 00254 mdl->push_back( md::create( "operands_output", "vector< srp< ge_operand > >" ) ); 00255 mdl->push_back( md::create( "dependencies", "set< srp< ge_pi > >" ) ); 00256 mdl->push_back( md::create( "jmp_targets", "vector< srp< ge_sp > >" ) ); 00257 mdl->push_back( md::create( "schedule_pos", "ulint" ) ); 00258 mdl->push_back( md::create( "bb", "basic_block" ) ); 00259 mdl->push_back( md::create( "properties", "map< ulint, lstring >" ) ); 00260 reflection = reflection_list::create( ::lestes::std::object::reflection_get() ); 00261 reflection->push_back( class_reflection::create( "ge_pi", mdl ) ); 00262 } 00263 return reflection; 00264 }
| ptr< object::field_list_list > lestes::backend_v2::intercode::ge_pi::field_values_get | ( | ) | const [virtual] |
for purposes of dumping
Reimplemented from lestes::std::object.
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 266 of file ge.g.cc.
References lestes::std::list< T >::create(), and lestes::std::object::field_values_get().
Referenced by lestes::backend_v2::intercode::ge_call::field_values_get(), and lestes::backend_v2::intercode::ge_sp::field_values_get().
00267 { 00268 ptr < field_list_list > result = ::lestes::std::object::field_values_get(); 00269 result->push_back( value_list::create() ); 00270 result->back()->push_back( this->instruction ); 00271 result->push_back( value_list::create() ); 00272 result->back()->push_back( this->pi_source ); 00273 result->push_back( value_list::create() ); 00274 result->back()->push_back( this->operands_input ); 00275 result->push_back( value_list::create() ); 00276 result->back()->push_back( this->operands_output ); 00277 result->push_back( value_list::create() ); 00278 result->back()->push_back( this->dependencies ); 00279 result->push_back( value_list::create() ); 00280 result->back()->push_back( this->jmp_targets ); 00281 result->push_back( value_list::create() ); 00282 result->back()->push_back( objectize< ulint > ::create( this->schedule_pos ) ); 00283 result->push_back( value_list::create() ); 00284 result->back()->push_back( this->bb ); 00285 result->push_back( value_list::create() ); 00286 result->back()->push_back( this->properties ); 00287 return result; 00288 }
| void lestes::backend_v2::intercode::ge_pi::gc_mark | ( | void | ) | [protected, virtual] |
Marking routine for class ge_pi.
Marking routine is used for garbage collection.
Reimplemented from lestes::std::mem::keystone.
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 295 of file ge.g.cc.
References lestes::std::mem::keystone::gc_mark().
Referenced by lestes::backend_v2::intercode::ge_call::gc_mark(), and lestes::backend_v2::intercode::ge_sp::gc_mark().
00296 { 00297 ::lestes::std::object::gc_mark(); 00298 }
srp< ::lestes::md::instructions::tm_instr_base > lestes::backend_v2::intercode::ge_pi::instruction [private] |
A description of a target machine instruction represented by this pseudoinstruction.
Definition at line 240 of file ge.g.hh.
Referenced by instruction_get(), instruction_set(), and validate().
srp< ::lestes::backend_v2::intercode::pi_pi > lestes::backend_v2::intercode::ge_pi::pi_source [private] |
A pi-level pseudoinstruction that the ge_pi pseudoinstruction derives from.
Note: A single pi-pseudoinstruction is usually source for multiple ge-pseudoinstructions.
Definition at line 245 of file ge.g.hh.
Referenced by pi_source_get(), and pi_source_set().
srp< ::lestes::std::vector< srp< ge_operand > > > lestes::backend_v2::intercode::ge_pi::operands_input [private] |
Pseudoinstruction's input operands.
Definition at line 247 of file ge.g.hh.
Referenced by operands_input_get(), operands_input_set(), and validate().
srp< ::lestes::std::vector< srp< ge_operand > > > lestes::backend_v2::intercode::ge_pi::operands_output [private] |
Pseudoinstruction's output operands.
Definition at line 249 of file ge.g.hh.
Referenced by operands_output_get(), operands_output_set(), and validate().
srp< ::lestes::std::set< srp< ge_pi > > > lestes::backend_v2::intercode::ge_pi::dependencies [private] |
A set of pseudoinstructions that this one depends on.
This is the crucial information for pseudoinstruction ordering. Each pseudoinstruction from the set must be executed before this pseudoinstruction.
Definition at line 255 of file ge.g.hh.
Referenced by dependencies_get(), and dependencies_set().
srp< ::lestes::std::vector< srp< ge_sp > > > lestes::backend_v2::intercode::ge_pi::jmp_targets [private] |
If the pseudoinstruction represents jump instruction then this is the list of its jump targets.
Definition at line 257 of file ge.g.hh.
Referenced by jmp_targets_get(), and jmp_targets_set().
ulint lestes::backend_v2::intercode::ge_pi::schedule_pos [private] |
A position in a function body schedule.
Definition at line 259 of file ge.g.hh.
Referenced by schedule_pos_get(), and schedule_pos_set().
srp< ::lestes::backend_v2::workers::basic_block > lestes::backend_v2::intercode::ge_pi::bb [private] |
srp< ::lestes::std::map< ulint, lstring > > lestes::backend_v2::intercode::ge_pi::properties [private] |
Custom properties.
It allows the pseudoinstruction holding a additional custom properties ( i.e. informatin for debugging )/
Definition at line 266 of file ge.g.hh.
Referenced by properties_get(), and properties_set().
ptr< object::reflection_list > lestes::backend_v2::intercode::ge_pi::reflection = reflection [static, private] |
Reimplemented from lestes::std::object.
Reimplemented in lestes::backend_v2::intercode::ge_sp, and lestes::backend_v2::intercode::ge_call.
Definition at line 267 of file ge.g.hh.
Referenced by reflection_get().
1.5.1-20070107