lestes::backend_v2::workers::spillgen_group Class Reference

Represents a group of operands of a pseudoinstruction that occupy the same register. More...

#include <spillgen.g.hh>

Inheritance diagram for lestes::backend_v2::workers::spillgen_group:

Inheritance graph
[legend]
List of all members.

Public Member Functions

ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_operand_reg > > > 
operands_get () const
 The method operands_get returns the value of the field spillgen_group::operands.
void operands_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > &)
 The method operands_set sets the field spillgen_group::operands to the given value.
ptr< ::lestes::std::set< ulint > > allowed_registers_get () const
 The method allowed_registers_get returns the value of the field spillgen_group::allowed_registers.
void allowed_registers_set (const ptr< ::lestes::std::set< ulint > > &)
 The method allowed_registers_set sets the field spillgen_group::allowed_registers to the given value.
ptr< ::lestes::std::set< ulint > > avail_regs_for_input_ops_get () const
 The method avail_regs_for_input_ops_get returns the value of the field spillgen_group::avail_regs_for_input_ops.
void avail_regs_for_input_ops_set (const ptr< ::lestes::std::set< ulint > > &)
 The method avail_regs_for_input_ops_set sets the field spillgen_group::avail_regs_for_input_ops to the given value.
ptr< ::lestes::std::set< ulint > > avail_regs_for_output_ops_get () const
 The method avail_regs_for_output_ops_get returns the value of the field spillgen_group::avail_regs_for_output_ops.
void avail_regs_for_output_ops_set (const ptr< ::lestes::std::set< ulint > > &)
 The method avail_regs_for_output_ops_set sets the field spillgen_group::avail_regs_for_output_ops to the given value.
ptr< ::lestes::md::registers::tm_registerreg_get () const
 The method reg_get returns the value of the field spillgen_group::reg.
void reg_set (const ptr< ::lestes::md::registers::tm_register > &)
 The method reg_set sets the field spillgen_group::reg to the given value.
ptr< spillgen_groupguarded_group_get () const
 The method guarded_group_get returns the value of the field spillgen_group::guarded_group.
void guarded_group_set (const ptr< spillgen_group > &)
 The method guarded_group_set sets the field spillgen_group::guarded_group to the given value.
bool is_input_get () const
 The method is_input_get returns the value of the field spillgen_group::is_input.
void is_input_set (bool)
 The method is_input_set sets the field spillgen_group::is_input to the given value.
bool is_output_get () const
 The method is_output_get returns the value of the field spillgen_group::is_output.
void is_output_set (bool)
 The method is_output_set sets the field spillgen_group::is_output to the given value.
ptr< ::lestes::backend_v2::intercode::ge_operand_membackup_space_get () const
 The method backup_space_get returns the value of the field spillgen_group::backup_space.
void backup_space_set (const ptr< ::lestes::backend_v2::intercode::ge_operand_mem > &)
 The method backup_space_set sets the field spillgen_group::backup_space to the given value.
ptr< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
backup_instructions_get () const
 The method backup_instructions_get returns the value of the field spillgen_group::backup_instructions.
void backup_instructions_set (const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method backup_instructions_set sets the field spillgen_group::backup_instructions to the given value.
ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
load_instructions_get () const
 The method load_instructions_get returns the value of the field spillgen_group::load_instructions.
void load_instructions_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method load_instructions_set sets the field spillgen_group::load_instructions to the given value.
ptr< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
store_instructions_get () const
 The method store_instructions_get returns the value of the field spillgen_group::store_instructions.
void store_instructions_set (const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method store_instructions_set sets the field spillgen_group::store_instructions to the given value.
ptr< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
restore_instructions_get () const
 The method restore_instructions_get returns the value of the field spillgen_group::restore_instructions.
void restore_instructions_set (const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &)
 The method restore_instructions_set sets the field spillgen_group::restore_instructions to the given value.
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< spillgen_groupcreate (ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > a__spillgen_group__operands, ptr< ::lestes::std::set< ulint > > a__spillgen_group__allowed_registers, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_input_ops, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_output_ops, ptr< ::lestes::md::registers::tm_register > a__spillgen_group__reg, ptr< spillgen_group > a__spillgen_group__guarded_group, bool a__spillgen_group__is_input, bool a__spillgen_group__is_output, ptr< ::lestes::backend_v2::intercode::ge_operand_mem > a__spillgen_group__backup_space, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__backup_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__load_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__store_instructions, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__restore_instructions)
 First generated factory method for class spillgen_group.
static ptr< spillgen_groupcreate ()
 Second generated factory method for class spillgen_group.

Protected Member Functions

 spillgen_group (ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > a__spillgen_group__operands, ptr< ::lestes::std::set< ulint > > a__spillgen_group__allowed_registers, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_input_ops, ptr< ::lestes::std::set< ulint > > a__spillgen_group__avail_regs_for_output_ops, ptr< ::lestes::md::registers::tm_register > a__spillgen_group__reg, ptr< spillgen_group > a__spillgen_group__guarded_group, bool a__spillgen_group__is_input, bool a__spillgen_group__is_output, ptr< ::lestes::backend_v2::intercode::ge_operand_mem > a__spillgen_group__backup_space, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__backup_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__load_instructions, ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__store_instructions, ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > a__spillgen_group__restore_instructions)
 Generated constructor for class spillgen_group.
virtual void gc_mark ()
 Marking routine for class spillgen_group.

Private Attributes

srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_operand_reg > > > 
operands
 The registers.
srp< ::lestes::std::set< ulint > > allowed_registers
 A list of allowed registers for all the operands together.
srp< ::lestes::std::set< ulint > > avail_regs_for_input_ops
 A list of registers that is alvailable for input operands of the group.
srp< ::lestes::std::set< ulint > > avail_regs_for_output_ops
 A list of registers that is alvailable for output operands of the group.
srp< ::lestes::md::registers::tm_registerreg
 An assigned spill-register.
srp< spillgen_groupguarded_group
 A group whose register can't be stolen by this group.
bool is_input
 Tells whether the group contains an input operand.
bool is_output
 Tells whether the group contains an output operand.
srp< ::lestes::backend_v2::intercode::ge_operand_membackup_space
 An assigned spill-place.
srp< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
backup_instructions
 A code that backups previous value of the spill-register to a backup place.
srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
load_instructions
 A code that loads value of the group's operands to a spill-register.
srp< ::lestes::std::set< srp<
::lestes::backend_v2::intercode::ge_pi > > > 
store_instructions
 A code that stores value of the group's operands to a spill-place.
srp< ::lestes::std::vector<
srp< ::lestes::backend_v2::intercode::ge_pi > > > 
restore_instructions
 A code that restores previous value of the spill-register from a backup place.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Represents a group of operands of a pseudoinstruction that occupy the same register.


Constructor & Destructor Documentation

lestes::backend_v2::workers::spillgen_group::spillgen_group ( ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >  a__spillgen_group__operands,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__allowed_registers,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_input_ops,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_output_ops,
ptr< ::lestes::md::registers::tm_register a__spillgen_group__reg,
ptr< spillgen_group a__spillgen_group__guarded_group,
bool  a__spillgen_group__is_input,
bool  a__spillgen_group__is_output,
ptr< ::lestes::backend_v2::intercode::ge_operand_mem a__spillgen_group__backup_space,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__backup_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__load_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__store_instructions,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__restore_instructions 
) [protected]

Generated constructor for class spillgen_group.

Generated constructor for class spillgen_group.

Author:
lsg


Member Function Documentation

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_operand_reg > > > lestes::backend_v2::workers::spillgen_group::operands_get (  )  const

The method operands_get returns the value of the field spillgen_group::operands.

Returns:
The value of spillgen_group::operands.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::operands_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > &  x  ) 

The method operands_set sets the field spillgen_group::operands to the given value.

Parameters:
[in] x The new value to set spillgen_group::operands to.
Author:
lsg

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::allowed_registers_get (  )  const

The method allowed_registers_get returns the value of the field spillgen_group::allowed_registers.

Returns:
The value of spillgen_group::allowed_registers.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::allowed_registers_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method allowed_registers_set sets the field spillgen_group::allowed_registers to the given value.

Parameters:
[in] x The new value to set spillgen_group::allowed_registers to.
Author:
lsg

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops_get (  )  const

The method avail_regs_for_input_ops_get returns the value of the field spillgen_group::avail_regs_for_input_ops.

Returns:
The value of spillgen_group::avail_regs_for_input_ops.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method avail_regs_for_input_ops_set sets the field spillgen_group::avail_regs_for_input_ops to the given value.

Parameters:
[in] x The new value to set spillgen_group::avail_regs_for_input_ops to.
Author:
lsg

ptr<::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops_get (  )  const

The method avail_regs_for_output_ops_get returns the value of the field spillgen_group::avail_regs_for_output_ops.

Returns:
The value of spillgen_group::avail_regs_for_output_ops.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops_set ( const ptr< ::lestes::std::set< ulint > > &  x  ) 

The method avail_regs_for_output_ops_set sets the field spillgen_group::avail_regs_for_output_ops to the given value.

Parameters:
[in] x The new value to set spillgen_group::avail_regs_for_output_ops to.
Author:
lsg

ptr<::lestes::md::registers::tm_register > lestes::backend_v2::workers::spillgen_group::reg_get (  )  const

The method reg_get returns the value of the field spillgen_group::reg.

Returns:
The value of spillgen_group::reg.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::reg_set ( const ptr< ::lestes::md::registers::tm_register > &  x  ) 

The method reg_set sets the field spillgen_group::reg to the given value.

Parameters:
[in] x The new value to set spillgen_group::reg to.
Author:
lsg

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::guarded_group_get (  )  const

The method guarded_group_get returns the value of the field spillgen_group::guarded_group.

Returns:
The value of spillgen_group::guarded_group.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::guarded_group_set ( const ptr< spillgen_group > &  x  ) 

The method guarded_group_set sets the field spillgen_group::guarded_group to the given value.

Parameters:
[in] x The new value to set spillgen_group::guarded_group to.
Author:
lsg

bool lestes::backend_v2::workers::spillgen_group::is_input_get (  )  const

The method is_input_get returns the value of the field spillgen_group::is_input.

Returns:
The value of spillgen_group::is_input.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::is_input_set ( bool  x  ) 

The method is_input_set sets the field spillgen_group::is_input to the given value.

Parameters:
[in] x The new value to set spillgen_group::is_input to.
Author:
lsg

bool lestes::backend_v2::workers::spillgen_group::is_output_get (  )  const

The method is_output_get returns the value of the field spillgen_group::is_output.

Returns:
The value of spillgen_group::is_output.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::is_output_set ( bool  x  ) 

The method is_output_set sets the field spillgen_group::is_output to the given value.

Parameters:
[in] x The new value to set spillgen_group::is_output to.
Author:
lsg

ptr<::lestes::backend_v2::intercode::ge_operand_mem > lestes::backend_v2::workers::spillgen_group::backup_space_get (  )  const

The method backup_space_get returns the value of the field spillgen_group::backup_space.

Returns:
The value of spillgen_group::backup_space.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::backup_space_set ( const ptr< ::lestes::backend_v2::intercode::ge_operand_mem > &  x  ) 

The method backup_space_set sets the field spillgen_group::backup_space to the given value.

Parameters:
[in] x The new value to set spillgen_group::backup_space to.
Author:
lsg

ptr<::lestes::std::vector< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::backup_instructions_get (  )  const

The method backup_instructions_get returns the value of the field spillgen_group::backup_instructions.

Returns:
The value of spillgen_group::backup_instructions.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::backup_instructions_set ( const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method backup_instructions_set sets the field spillgen_group::backup_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::backup_instructions to.
Author:
lsg

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::load_instructions_get (  )  const

The method load_instructions_get returns the value of the field spillgen_group::load_instructions.

Returns:
The value of spillgen_group::load_instructions.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::load_instructions_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method load_instructions_set sets the field spillgen_group::load_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::load_instructions to.
Author:
lsg

ptr<::lestes::std::set< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::store_instructions_get (  )  const

The method store_instructions_get returns the value of the field spillgen_group::store_instructions.

Returns:
The value of spillgen_group::store_instructions.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::store_instructions_set ( const ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method store_instructions_set sets the field spillgen_group::store_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::store_instructions to.
Author:
lsg

ptr<::lestes::std::vector< srp<::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::restore_instructions_get (  )  const

The method restore_instructions_get returns the value of the field spillgen_group::restore_instructions.

Returns:
The value of spillgen_group::restore_instructions.
Author:
lsg

void lestes::backend_v2::workers::spillgen_group::restore_instructions_set ( const ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > &  x  ) 

The method restore_instructions_set sets the field spillgen_group::restore_instructions to the given value.

Parameters:
[in] x The new value to set spillgen_group::restore_instructions to.
Author:
lsg

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::create ( ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > >  a__spillgen_group__operands,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__allowed_registers,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_input_ops,
ptr< ::lestes::std::set< ulint > >  a__spillgen_group__avail_regs_for_output_ops,
ptr< ::lestes::md::registers::tm_register a__spillgen_group__reg,
ptr< spillgen_group a__spillgen_group__guarded_group,
bool  a__spillgen_group__is_input,
bool  a__spillgen_group__is_output,
ptr< ::lestes::backend_v2::intercode::ge_operand_mem a__spillgen_group__backup_space,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__backup_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__load_instructions,
ptr< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__store_instructions,
ptr< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > >  a__spillgen_group__restore_instructions 
) [static]

First generated factory method for class spillgen_group.

This factory method for class spillgen_group takes values of all fields as arguments.

Author:
lsg

ptr< spillgen_group > lestes::backend_v2::workers::spillgen_group::create (  )  [static]

Second generated factory method for class spillgen_group.

This factory method for class spillgen_group uses initializers.

Author:
lsg

ptr< object::reflection_list > lestes::backend_v2::workers::spillgen_group::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

ptr< object::field_list_list > lestes::backend_v2::workers::spillgen_group::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::std::object.

void lestes::backend_v2::workers::spillgen_group::gc_mark ( void   )  [protected, virtual]

Marking routine for class spillgen_group.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::std::mem::keystone.


Member Data Documentation

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_operand_reg > > > lestes::backend_v2::workers::spillgen_group::operands [private]

The registers.

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::allowed_registers [private]

A list of allowed registers for all the operands together.

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_input_ops [private]

A list of registers that is alvailable for input operands of the group.

srp< ::lestes::std::set< ulint > > lestes::backend_v2::workers::spillgen_group::avail_regs_for_output_ops [private]

A list of registers that is alvailable for output operands of the group.

srp< ::lestes::md::registers::tm_register > lestes::backend_v2::workers::spillgen_group::reg [private]

An assigned spill-register.

srp< spillgen_group > lestes::backend_v2::workers::spillgen_group::guarded_group [private]

A group whose register can't be stolen by this group.

bool lestes::backend_v2::workers::spillgen_group::is_input [private]

Tells whether the group contains an input operand.

bool lestes::backend_v2::workers::spillgen_group::is_output [private]

Tells whether the group contains an output operand.

srp< ::lestes::backend_v2::intercode::ge_operand_mem > lestes::backend_v2::workers::spillgen_group::backup_space [private]

An assigned spill-place.

srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::backup_instructions [private]

A code that backups previous value of the spill-register to a backup place.

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::load_instructions [private]

A code that loads value of the group's operands to a spill-register.

srp< ::lestes::std::set< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::store_instructions [private]

A code that stores value of the group's operands to a spill-place.

srp< ::lestes::std::vector< srp< ::lestes::backend_v2::intercode::ge_pi > > > lestes::backend_v2::workers::spillgen_group::restore_instructions [private]

A code that restores previous value of the spill-register from a backup place.

ptr< object::reflection_list > lestes::backend_v2::workers::spillgen_group::reflection = reflection [static, private]

Reimplemented from lestes::std::object.


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