GCC Middle and Back End API Reference
ipa_opt_pass_d Class Reference

#include <tree-pass.h>

Inheritance diagram for ipa_opt_pass_d:
Collaboration diagram for ipa_opt_pass_d:

Public Member Functions

virtual opt_passclone ()
 
virtual void set_pass_param (unsigned int, bool)
 
virtual bool gate (function *fun)
 
virtual unsigned int execute (function *fun)
 

Data Fields

void(* generate_summary )(void)
 
void(* write_summary )(void)
 
void(* read_summary )(void)
 
void(* write_optimization_summary )(void)
 
void(* read_optimization_summary )(void)
 
void(* stmt_fixup )(struct cgraph_node *, gimple **)
 
unsigned int function_transform_todo_flags_start
 
unsigned int(* function_transform )(struct cgraph_node *)
 
void(* variable_transform )(varpool_node *)
 
opt_passsub
 
opt_passnext
 
int static_pass_number
 
enum opt_pass_type type
 
const charname
 
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

 ipa_opt_pass_d (const pass_data &data, gcc::context *ctxt, void(*generate_summary)(void), void(*write_summary)(void), void(*read_summary)(void), void(*write_optimization_summary)(void), void(*read_optimization_summary)(void), void(*stmt_fixup)(struct cgraph_node *, gimple **), unsigned int function_transform_todo_flags_start, unsigned int(*function_transform)(struct cgraph_node *), void(*variable_transform)(varpool_node *))
 

Protected Attributes

gcc::contextm_ctxt
 

Detailed Description

Description of IPA pass with generate summary, write, execute, read and
transform stages.   

Constructor & Destructor Documentation

◆ ipa_opt_pass_d()

ipa_opt_pass_d::ipa_opt_pass_d ( const pass_data & data,
gcc::context * ctxt,
void(*)(void) generate_summary,
void(*)(void) write_summary,
void(*)(void) read_summary,
void(*)(void) write_optimization_summary,
void(*)(void) read_optimization_summary,
void(*)(struct cgraph_node *, gimple **) stmt_fixup,
unsigned int function_transform_todo_flags_start,
unsigned int(*)(struct cgraph_node *) function_transform,
void(*)(varpool_node *) variable_transform )
inlineprotected

Member Function Documentation

◆ clone()

opt_pass * opt_pass::clone ( )
virtualinherited
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_walloca.

References internal_error(), and pass_data::name.

◆ execute()

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

◆ gate()

◆ set_pass_param()

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

Reimplemented in pass_walloca.

References internal_error(), and pass_data::name.

Field Documentation

◆ function_transform

unsigned int(* ipa_opt_pass_d::function_transform) (struct cgraph_node *)

◆ function_transform_todo_flags_start

unsigned int ipa_opt_pass_d::function_transform_todo_flags_start

◆ generate_summary

void(* ipa_opt_pass_d::generate_summary) (void)

◆ m_ctxt

gcc::context* opt_pass::m_ctxt
protectedinherited

Referenced by pass_walloca::clone().

◆ 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().

◆ read_optimization_summary

void(* ipa_opt_pass_d::read_optimization_summary) (void)

◆ read_summary

void(* ipa_opt_pass_d::read_summary) (void)

◆ static_pass_number

◆ stmt_fixup

void(* ipa_opt_pass_d::stmt_fixup) (struct cgraph_node *, gimple **)

◆ 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

Referenced by execute_one_pass(), and position_pass().

◆ tv_id

◆ type

◆ variable_transform

void(* ipa_opt_pass_d::variable_transform) (varpool_node *)

◆ write_optimization_summary

void(* ipa_opt_pass_d::write_optimization_summary) (void)

◆ write_summary

void(* ipa_opt_pass_d::write_summary) (void)

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