GCC Middle and Back End API Reference
|
#include <ipa-modref.h>
Public Member Functions | |
modref_summary () | |
~modref_summary () | |
void | dump (FILE *) const |
bool | useful_p (int ecf_flags, bool check_flags=true) |
void | finalize (tree) |
Single function summary.
modref_summary::modref_summary | ( | ) |
Summary for a single function which this pass produces.
modref_summary::~modref_summary | ( | ) |
References ggc_delete(), loads, and stores.
Dump summary.
References arg_flags, calls_interposable, dump_records(), ggc_alloc(), global_memory_read, global_memory_written, i, kill, kills, loads, nondeterministic, retslot_flags, side_effects, static_chain_flags, stores, try_dse, and writes_errno.
Called after summary is produced and before it is used by local analysis. Can be called multiple times in case summary needs to update signature. FUN is decl of function summary is attached to.
References modref_tree< T >::bases, modref_tree< T >::every_base, FOR_EACH_VEC_SAFE_ELT, ggc_alloc(), modref_tree< T >::global_access_p(), global_memory_read, global_memory_written, i, load_accesses, loads, opt_for_fn, side_effects, stores, try_dse, and writes_errno.
Return true if 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, ggc_alloc(), kills, loads, nondeterministic, remove_useless_eaf_flags(), retslot_flags, side_effects, static_chain_flags, and stores.
auto_vec<eaf_flags_t> modref_summary::arg_flags |
Referenced by dump(), and useful_p().
unsigned modref_summary::global_memory_read |
Referenced by dump(), and finalize().
unsigned modref_summary::global_memory_written |
Referenced by dump(), and finalize().
auto_vec<modref_access_node> modref_summary::kills |
Referenced by dump(), and useful_p().
unsigned int modref_summary::load_accesses |
Referenced by finalize().
modref_records* modref_summary::loads |
Referenced by dump(), finalize(), useful_p(), and ~modref_summary().
unsigned modref_summary::nondeterministic |
Referenced by dump(), and useful_p().
eaf_flags_t modref_summary::retslot_flags |
Referenced by dump(), and useful_p().
unsigned modref_summary::side_effects |
Referenced by dump(), finalize(), stmt_may_terminate_function_p(), and useful_p().
eaf_flags_t modref_summary::static_chain_flags |
Referenced by dump(), and useful_p().
modref_records* modref_summary::stores |
Referenced by dump(), finalize(), useful_p(), and ~modref_summary().
unsigned modref_summary::try_dse |
Referenced by dump(), and finalize().
unsigned modref_summary::writes_errno |
Referenced by dump(), and finalize().