lestes::backend_v2::workers::dead_code_eliminator Class Reference

Eliminates dead code. More...

#include <dead_code_eliminator.g.hh>

Inheritance diagram for lestes::backend_v2::workers::dead_code_eliminator:

Inheritance graph
[legend]
List of all members.

Public Member Functions

void process ()
 Eliminates a dead code.
ptr< ::lestes::backend_v2::structs::func_dataget_result ()
 Returns function body without any dead code.
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< dead_code_eliminatorcreate (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data)
 First generated factory method for class dead_code_eliminator.

Protected Member Functions

 dead_code_eliminator (ptr< ::lestes::backend_v2::structs::func_data > a__worker_base__data)
 Generated constructor for class dead_code_eliminator.
virtual void gc_mark ()
 Marking routine for class dead_code_eliminator.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Eliminates dead code.

It only eliminates pseudoinstructions whose output operands are not used by any other psedoinstruction. It performs only single pass through body therefore it removes only last pseudoinstruction of any chain of dead code. The eliminator is used mainly to eliminate dead code generated by the compiler during ge-level pseudoinstruction generation process.


Constructor & Destructor Documentation

lestes::backend_v2::workers::dead_code_eliminator::dead_code_eliminator ( ptr< ::lestes::backend_v2::structs::func_data a__worker_base__data  )  [protected]

Generated constructor for class dead_code_eliminator.

Generated constructor for class dead_code_eliminator.

Author:
lsg


Member Function Documentation

void lestes::backend_v2::workers::dead_code_eliminator::process (  )  [virtual]

Eliminates a dead code.

It removes any pseudoinstruction whose output operands are not used by another pseudoinstruction.

Implements lestes::backend_v2::workers::worker_base.

ptr< func_data > lestes::backend_v2::workers::dead_code_eliminator::get_result (  )  [virtual]

Returns function body without any dead code.

Implements lestes::backend_v2::workers::worker_base.

ptr< dead_code_eliminator > lestes::backend_v2::workers::dead_code_eliminator::create ( ptr< ::lestes::backend_v2::structs::func_data a__worker_base__data  )  [static]

First generated factory method for class dead_code_eliminator.

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

Author:
lsg

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

for purposes of dumping

Reimplemented from lestes::backend_v2::workers::worker_base.

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

for purposes of dumping

Reimplemented from lestes::backend_v2::workers::worker_base.

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

Marking routine for class dead_code_eliminator.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::backend_v2::workers::worker_base.


Member Data Documentation

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

Reimplemented from lestes::backend_v2::workers::worker_base.


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