GCC Middle and Back End API Reference
|
#include <constraint-manager.h>
Data Structures | |
struct | hash_traits_t |
struct | traits_t |
Public Member Functions | |
~bounded_ranges_manager () | |
const bounded_ranges * | get_or_create_ranges_for_switch (const switch_cfg_superedge *edge, const gswitch *switch_stmt) |
const bounded_ranges * | get_or_create_empty () |
const bounded_ranges * | get_or_create_point (const_tree value) |
const bounded_ranges * | get_or_create_range (const_tree lower_bound, const_tree upper_bound) |
const bounded_ranges * | get_or_create_union (const vec< const bounded_ranges * > &others) |
const bounded_ranges * | get_or_create_intersection (const bounded_ranges *a, const bounded_ranges *b) |
const bounded_ranges * | get_or_create_inverse (const bounded_ranges *other, tree type) |
void | log_stats (logger *logger, bool show_objs) const |
Private Types | |
typedef hash_map< bounded_ranges *, bounded_ranges *, traits_t > | map_t |
typedef hash_map< const switch_cfg_superedge *, const bounded_ranges * > | edge_cache_t |
Private Member Functions | |
const bounded_ranges * | create_ranges_for_switch (const switch_cfg_superedge &edge, const gswitch *switch_stmt) |
const bounded_ranges * | make_case_label_ranges (const gswitch *switch_stmt, tree case_label) |
const bounded_ranges * | consolidate (bounded_ranges *) |
Private Attributes | |
map_t | m_map |
edge_cache_t | m_edge_cache |
An object to own and consolidate bounded_ranges instances. This also caches the mapping from switch_cfg_superedge bounded_ranges instances, so that get_or_create_ranges_for_switch is memoized.
|
private |
ana::bounded_ranges_manager::~bounded_ranges_manager | ( | ) |
|
private |
|
private |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_empty | ( | ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_intersection | ( | const bounded_ranges * | a, |
const bounded_ranges * | b ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_inverse | ( | const bounded_ranges * | other, |
tree | type ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_point | ( | const_tree | value | ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_range | ( | const_tree | lower_bound, |
const_tree | upper_bound ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_ranges_for_switch | ( | const switch_cfg_superedge * | edge, |
const gswitch * | switch_stmt ) |
const bounded_ranges * ana::bounded_ranges_manager::get_or_create_union | ( | const vec< const bounded_ranges * > & | others | ) |
|
private |
|
private |
|
private |