GCC Middle and Back End API Reference
modref_summary_lto Struct Reference
Collaboration diagram for modref_summary_lto:

Public Member Functions

 modref_summary_lto ()
 
 ~modref_summary_lto ()
 
void dump (FILE *)
 
bool useful_p (int ecf_flags, bool check_flags=true)
 

Data Fields

modref_records_ltoloads
 
modref_records_ltostores
 
auto_vec< modref_access_nodekills
 
auto_vec< eaf_flags_targ_flags
 
eaf_flags_t retslot_flags
 
eaf_flags_t static_chain_flags
 
unsigned writes_errno: 1
 
unsigned side_effects: 1
 
unsigned nondeterministic: 1
 
unsigned calls_interposable: 1
 

Constructor & Destructor Documentation

◆ modref_summary_lto()

modref_summary_lto::modref_summary_lto ( )
Summary for a single function which this pass produces.   

◆ ~modref_summary_lto()

modref_summary_lto::~modref_summary_lto ( )

References ggc_delete(), loads, and stores.

Member Function Documentation

◆ dump()

◆ useful_p()

bool modref_summary_lto::useful_p ( int ecf_flags,
bool check_flags = true )
Return true if lto summary is potentially useful for optimization.
If CHECK_FLAGS is false assume that arg_flags are useful.   

References arg_flags, eaf_flags_useful_p(), ECF_CONST, ECF_LOOPING_CONST_OR_PURE, ECF_NOVOPS, ECF_PURE, modref_tree< T >::every_base, kills, loads, remove_useless_eaf_flags(), retslot_flags, side_effects, static_chain_flags, and stores.

Referenced by ipa_merge_modref_summary_after_inlining().

Field Documentation

◆ arg_flags

◆ calls_interposable

unsigned modref_summary_lto::calls_interposable

◆ kills

auto_vec<modref_access_node> modref_summary_lto::kills

◆ loads

◆ nondeterministic

unsigned modref_summary_lto::nondeterministic

◆ retslot_flags

◆ side_effects

unsigned modref_summary_lto::side_effects

◆ static_chain_flags

◆ stores

◆ writes_errno

unsigned modref_summary_lto::writes_errno

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