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 void set_pass_param (unsigned int, bool)
 
virtual bool gate (function *fun)
 
virtual unsigned int execute (function *fun)
 

Data Fields

opt_passsub
 
opt_passnext
 
int static_pass_number
 
enum opt_pass_type type
 
const char * name
 
optgroup_flags_t optinfo_flags
 
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::contextm_ctxt
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ~opt_pass()

virtual opt_pass::~opt_pass ( )
inlinevirtual

◆ opt_pass()

opt_pass::opt_pass ( const pass_data & data,
gcc::context * ctxt )
protected

Member Function Documentation

◆ clone()

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.   

Reimplemented in pass_array_bounds, and pass_walloca.

References internal_error(), and pass_data::name.

Referenced by position_pass().

◆ execute()

unsigned int opt_pass::execute ( function * fun)
virtual

◆ gate()

◆ set_pass_param()

void opt_pass::set_pass_param ( unsigned int ,
bool  )
virtual

Reimplemented in pass_walloca.

References internal_error(), and pass_data::name.

Field Documentation

◆ m_ctxt

gcc::context* opt_pass::m_ctxt
protected

◆ name

◆ next

◆ optinfo_flags

◆ properties_destroyed

unsigned int pass_data::properties_destroyed
inherited

◆ properties_provided

unsigned int pass_data::properties_provided
inherited

◆ properties_required

unsigned int pass_data::properties_required
inherited

Referenced by execute_one_pass().

◆ static_pass_number

◆ sub

◆ todo_flags_finish

unsigned int pass_data::todo_flags_finish
inherited

Referenced by execute_one_pass().

◆ todo_flags_start

unsigned int pass_data::todo_flags_start
inherited

◆ tv_id

◆ type


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