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 bool gate ()
virtual unsigned int execute ()

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 )(struct varpool_node *)
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

 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)(struct varpool_node *))

Protected Attributes

gcc::contextctxt_

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 ( 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(*)(struct varpool_node *)  variable_transform 
)
inlineprotected

Member Function Documentation

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.   

References internal_error(), and pass_data::name.

Referenced by position_pass().

unsigned int opt_pass::execute ( )
virtualinherited

Referenced by execute_one_pass().


Field Documentation

gcc::context* opt_pass::ctxt_
protectedinherited
unsigned int(* ipa_opt_pass_d::function_transform)(struct cgraph_node *)
unsigned int ipa_opt_pass_d::function_transform_todo_flags_start
void(* ipa_opt_pass_d::generate_summary)(void)
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
void(* ipa_opt_pass_d::read_optimization_summary)(void)
void(* ipa_opt_pass_d::read_summary)(void)

Referenced by ipa_read_summaries_1().

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

Referenced by execute_ipa_stmt_fixups().

unsigned int pass_data::todo_flags_finish
inherited

Referenced by execute_one_pass().

unsigned int pass_data::todo_flags_start
inherited
void(* ipa_opt_pass_d::variable_transform)(struct varpool_node *)
void(* ipa_opt_pass_d::write_optimization_summary)(void)
void(* ipa_opt_pass_d::write_summary)(void)

Referenced by ipa_write_summaries_2().


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