GCC Middle and Back End API Reference
|
#include <pointer-query.h>
Data Structures | |
struct | cache_type |
Public Member Functions | |
pointer_query (range_query *=nullptr) | |
const access_ref * | get_ref (tree, int=1) const |
bool | get_ref (tree, gimple *, access_ref *, int=1) |
void | put_ref (tree, const access_ref &, int=1) |
void | flush_cache () |
void | dump (FILE *, bool=false) |
Data Fields | |
range_query * | rvals |
unsigned | hits |
unsigned | misses |
unsigned | failures |
unsigned | depth |
unsigned | max_depth |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (pointer_query) | |
Private Attributes | |
cache_type | var_cache |
Queries and caches compute_objsize results.
|
explicit |
|
private |
References pointer_query().
Dump statistics and, optionally, cache contents to DUMP_FILE.
References access_ref::dump(), dump_file, failures, fputc(), hits, i, max_depth, misses, print_generic_expr(), access_ref::ref, ssa_name, and var_cache.
void pointer_query::flush_cache | ( | ) |
Flush the cache if it's nonnull.
References var_cache.
bool pointer_query::get_ref | ( | tree | ptr, |
gimple * | stmt, | ||
access_ref * | pref, | ||
int | ostype = 1 ) |
Retrieve the access_ref instance for a variable from the cache if it's there or compute it and insert it into the cache if it's nonnonull.
References compute_objsize(), failures, hits, misses, pref, SSA_NAME_VERSION, TREE_CODE, and var_cache.
const access_ref * pointer_query::get_ref | ( | tree | ptr, |
int | ostype = 1 ) const |
Return a pointer to the cached access_ref instance for the SSA_NAME PTR if it's there or null otherwise.
References hits, misses, NULL, access_ref::ref, SSA_NAME_VERSION, and var_cache.
Referenced by get_maxbound(), and handle_ssa_name().
void pointer_query::put_ref | ( | tree | ptr, |
const access_ref & | ref, | ||
int | ostype = 1 ) |
Add a copy of the access_ref REF for the SSA_NAME to the cache if it's nonnull.
References gcc_checking_assert, access_ref::ref, access_ref::sizrng, SSA_NAME_VERSION, and var_cache.
Referenced by compute_objsize_r(), handle_ssa_name(), and access_ref::merge_ref().
|
mutable |
Referenced by compute_objsize(), handle_ssa_name(), and pointer_query().
|
mutable |
Referenced by dump(), get_ref(), and pointer_query().
|
mutable |
Referenced by dump(), get_ref(), get_ref(), and pointer_query().
|
mutable |
Referenced by dump(), handle_ssa_name(), and pointer_query().
|
mutable |
Referenced by dump(), get_ref(), get_ref(), and pointer_query().
range_query* pointer_query::rvals |
|
private |
Referenced by dump(), flush_cache(), get_ref(), get_ref(), pointer_query(), and put_ref().