lestes::md::instructions::pi_pi2ge_pi_base Class Reference

Visitor that converts pi_pi instance to a corresponding list of ge_pi pseudoinstructions. More...

#include <pi_pi2ge_pi_base.g.hh>

Inheritance diagram for lestes::md::instructions::pi_pi2ge_pi_base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operandspi_operands_getter_get () const
 The method pi_operands_getter_get returns the value of the field pi_pi2ge_pi_base::pi_operands_getter.
void pi_operands_getter_set (const ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operands > &)
 The method pi_operands_getter_set sets the field pi_pi2ge_pi_base::pi_operands_getter to the given value.
ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2idpi_id_getter_get () const
 The method pi_id_getter_get returns the value of the field pi_pi2ge_pi_base::pi_id_getter.
void pi_id_getter_set (const ptr< ::lestes::backend_v2::intercode::visitor_pi_pi2id > &)
 The method pi_id_getter_set sets the field pi_pi2ge_pi_base::pi_id_getter to the given value.
ptr< ::lestes::md::instructions::pi_operand2ge_operandpi_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.
void pi_op2ge_op_convertor_set (const ptr< ::lestes::md::instructions::pi_operand2ge_operand > &)
 The method pi_op2ge_op_convertor_set sets the field pi_pi2ge_pi_base::pi_op2ge_op_convertor to the given value.
ptr< ::lestes::std::map< srp<
::lestes::backend_v2::intercode::pi_sp >,
srp< ::lestes::backend_v2::intercode::ge_sp > > > 
pi_sp2ge_sp_get () const
 The method pi_sp2ge_sp_get returns the value of the field pi_pi2ge_pi_base::pi_sp2ge_sp.
void pi_sp2ge_sp_set (const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_sp >, srp< ::lestes::backend_v2::intercode::ge_sp > > > &)
 The method pi_sp2ge_sp_set sets the field pi_pi2ge_pi_base::pi_sp2ge_sp to the given value.
ptr< ::lestes::std::map< srp<
::lestes::backend_v2::intercode::pi_operand >,
ulint > > 
pi_op2count_get () const
 The method pi_op2count_get returns the value of the field pi_pi2ge_pi_base::pi_op2count.
void pi_op2count_set (const ptr< ::lestes::std::map< srp< ::lestes::backend_v2::intercode::pi_operand >, ulint > > &)
 The method pi_op2count_set sets the field pi_pi2ge_pi_base::pi_op2count to the given value.
ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > convert (ptr< ::lestes::backend_v2::intercode::pi_pi > pi, ptr< ::lestes::md::instructions::pi_pi2ge_pi_template_base > pat)
void setup_dependencies (ptr< ::lestes::backend_v2::intercode::ge_pi > ge)
ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > 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 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 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 targetmachine__is_instruction_consistent (ptr< ::lestes::md::instructions::tm_instr_base > instr_version, ptr< ::lestes::backend_v2::intercode::pi_pi > pi) override
 Function that allows target-machine dependent instruction consistency verification.
bool 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 is_operand_compatible2 (ptr< ::lestes::md::instructions::tm_instr_op_base > op1, ptr< ::lestes::md::instructions::tm_instr_op_base > op2, ulint type)
bool is_in (ptr< vector< ulint > > list, ulint value)
 Traverses a list and tells whether a value is contained.
void 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 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_basefind_op_by_id (ptr< ::lestes::std::vector< srp< ::lestes::md::instructions::tm_instr_op_base > > > list, ulint id)
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Protected Member Functions

 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)
 Generated constructor for class pi_pi2ge_pi_base.
virtual void gc_mark ()
 Marking routine for class pi_pi2ge_pi_base.

Private Attributes

srp< ::lestes::backend_v2::intercode::visitor_pi_pi2pi_operandspi_operands_getter
 Visitor instance that gets list of operand of given pseudoinstruction.
srp< ::lestes::backend_v2::intercode::visitor_pi_pi2idpi_id_getter
 Visitor instance that gets id of given pseudoinstruction.
srp< ::lestes::md::instructions::pi_operand2ge_operandpi_op2ge_op_convertor
 Visitor instance that converts pi_operand to a corresponding ge_operand.
srp< ::lestes::std::map< srp<
::lestes::backend_v2::intercode::pi_sp >,
srp< ::lestes::backend_v2::intercode::ge_sp > > > 
pi_sp2ge_sp
 Map of already converted pi-sequencepoints to resulting ge-sequencepoints.
srp< ::lestes::std::map< srp<
::lestes::backend_v2::intercode::pi_operand >,
ulint > > 
pi_op2count
 Usage count of pi_operands within the functions body.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Visitor that converts pi_pi instance to a corresponding list of ge_pi pseudoinstructions.

Note: A concrete derived class is target dependent and it is placed in /target/machine/${TARGET_CPU}/lestes/md/instructions/ directory.


Constructor & Destructor Documentation

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.

Author:
lsg


Member Function Documentation

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.

Returns:
The value of pi_pi2ge_pi_base::pi_operands_getter.
Author:
lsg

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.

Parameters:
[in] x The new value to set pi_pi2ge_pi_base::pi_operands_getter to.
Author:
lsg

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.

Returns:
The value of pi_pi2ge_pi_base::pi_id_getter.
Author:
lsg

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.

Parameters:
[in] x The new value to set pi_pi2ge_pi_base::pi_id_getter to.
Author:
lsg

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.

Returns:
The value of pi_pi2ge_pi_base::pi_op2ge_op_convertor.
Author:
lsg

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.

Parameters:
[in] x The new value to set pi_pi2ge_pi_base::pi_op2ge_op_convertor to.
Author:
lsg

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.

Returns:
The value of pi_pi2ge_pi_base::pi_sp2ge_sp.
Author:
lsg

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.

Parameters:
[in] x The new value to set pi_pi2ge_pi_base::pi_sp2ge_sp to.
Author:
lsg

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.

Returns:
The value of pi_pi2ge_pi_base::pi_op2count.
Author:
lsg

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.

Parameters:
[in] x The new value to set pi_pi2ge_pi_base::pi_op2count to.
Author:
lsg

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 
)

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.

Parameters:
list A list.
value A value.
Returns:
True if the value is in the list. False otherwise.

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.

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.

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.

Author:
lsg

Reimplemented from lestes::backend_v2::intercode::visitor_pi_pi2ge_pi_gen_base.

Reimplemented in lestes::md::instructions::pi_pi2ge_pi.


Member Data Documentation

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.

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.

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.

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.

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.

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.


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:49:10 2007 for lestes by doxygen 1.5.1-20070107