GCC Middle and Back End API Reference
opt_pass Class Reference

#include <tree-pass.h>

Inheritance diagram for opt_pass:
Collaboration diagram for opt_pass:

Public Member Functions

virtual ~opt_pass ()
virtual opt_passclone ()
virtual bool gate ()
virtual unsigned int execute ()

Data Fields

struct opt_passsub
struct opt_passnext
int static_pass_number
enum opt_pass_type type
const char * name
unsigned int optinfo_flags
bool has_gate
bool has_execute
timevar_id_t tv_id
unsigned int properties_required
unsigned int properties_provided
unsigned int properties_destroyed
unsigned int todo_flags_start
unsigned int todo_flags_finish

Protected Member Functions

 opt_pass (const pass_data &, gcc::context *)

Protected Attributes

gcc::contextctxt_

Detailed Description

An instance of a pass.  This is also "pass_data" to minimize the
   changes in existing code.   

Constructor & Destructor Documentation

virtual opt_pass::~opt_pass ( )
inlinevirtual
opt_pass::opt_pass ( const pass_data data,
gcc::context ctxt 
)
protected

Member Function Documentation

opt_pass * opt_pass::clone ( )
virtual
Most passes are single-instance (within their context) and thus don't
   need to implement cloning, but passes that support multiple instances
   *must* provide their own implementation of the clone method.

   Handle this by providing a default implemenation, but make it a fatal
   error to call it.   

References internal_error(), and pass_data::name.

Referenced by position_pass().

unsigned int opt_pass::execute ( )
virtual

Referenced by execute_one_pass().


Field Documentation

gcc::context* opt_pass::ctxt_
protected
bool pass_data::has_execute
inherited

Referenced by execute_one_pass().

unsigned int pass_data::optinfo_flags
inherited
unsigned int pass_data::properties_destroyed
inherited
unsigned int pass_data::properties_provided
inherited
unsigned int pass_data::properties_required
inherited
unsigned int pass_data::todo_flags_finish
inherited

Referenced by execute_one_pass().

unsigned int pass_data::todo_flags_start
inherited

The documentation for this class was generated from the following files: