|
GCC Middle and Back End API Reference
|
#include <gimple-range-infer.h>


Data Structures | |
| class | exit_range_head |
| class | ssa_name_link |
Public Member Functions | |
| infer_range_manager (bool do_search, range_query *q=NULL) | |
| virtual | ~infer_range_manager () |
| virtual void | add_ranges (gimple *s, gimple_infer_range &ir) |
| virtual bool | has_range_p (basic_block bb, tree name=NULL_TREE) |
| virtual bool | maybe_adjust_range (vrange &r, tree name, basic_block bb) |
| virtual void | clear (tree name) |
Private Member Functions | |
| void | add_range (tree name, gimple *s, const vrange &r) |
| void | add_nonzero (tree name, gimple *s) |
| void | register_all_uses (tree name) |
| const vrange & | get_nonzero (tree name) |
Private Attributes | |
| vec< exit_range_head > | m_on_exit |
| vec< ssa_name_link > | m_name_info |
| bitmap | m_seen |
| bitmap_obstack | m_bitmaps |
| struct obstack | m_list_obstack |
| class vrange_allocator * | m_range_allocator |
| range_query * | m_query |
| infer_range_manager::infer_range_manager | ( | bool | do_search, |
| range_query * | q = NULL ) |
References BITMAP_ALLOC, bitmap_obstack_initialize(), cfun, get_global_range_query(), last_basic_block_for_fn, m_bitmaps, m_list_obstack, m_name_info, m_on_exit, m_query, m_range_allocator, m_seen, NULL, and num_ssa_names.
Referenced by range_query::create_infer_oracle().
|
virtual |
References bitmap_obstack_release(), m_bitmaps, m_list_obstack, m_name_info, m_on_exit, m_range_allocator, and NULL.
References add_range(), and get_nonzero().
References exit_range::bbi, BITMAP_ALLOC, bitmap_set_bit, cfun, vrange_allocator::clone(), dump_file, dump_flags, vrange_storage::fits_p(), get_range_query(), vrange_storage::get_vrange(), gimple_bb(), basic_block_def::index, last_basic_block_for_fn, m_bitmaps, m_list_obstack, m_name_info, m_on_exit, m_range_allocator, exit_range::name, exit_range::name_link, exit_range::next, num_ssa_names, print_generic_expr(), r, exit_range::range, vrange_storage::set_vrange(), SSA_NAME_VERSION, TDF_DETAILS, TDF_SLIM, TREE_TYPE, and range_query::update_range_info().
Referenced by add_nonzero(), add_ranges(), and register_all_uses().
|
virtual |
Reimplemented from infer_range_oracle.
References add_range(), m_query, gimple_infer_range::name(), gimple_infer_range::num(), r, gimple_infer_range::range(), range_query::range_of_expr(), and TREE_TYPE.
|
virtual |
Reimplemented from infer_range_oracle.
References exit_range::bbi, bitmap_clear_bit(), m_name_info, m_on_exit, m_seen, exit_range::name, exit_range::name_link, NULL, and SSA_NAME_VERSION.
References vrange_allocator::alloc(), m_name_info, m_range_allocator, num_ssa_names, SSA_NAME_VERSION, and TREE_TYPE.
Referenced by add_nonzero().
|
virtual |
Reimplemented from infer_range_oracle.
References b, bitmap_bit_p, bitmap_empty_p(), basic_block_def::index, m_on_exit, m_seen, register_all_uses(), and SSA_NAME_VERSION.
Referenced by maybe_adjust_range().
|
virtual |
Reimplemented from infer_range_oracle.
References gcc_checking_assert, vrange_storage::get_vrange(), has_range_p(), basic_block_def::index, m_on_exit, r, exit_range::range, and TREE_TYPE.
|
private |
References add_range(), bitmap_bit_p, bitmap_set_bit, FOR_EACH_IMM_USE_FAST, gcc_checking_assert, m_query, m_seen, gimple_infer_range::name(), gimple_infer_range::num(), gimple_infer_range::range(), SSA_NAME_VERSION, and USE_STMT.
Referenced by has_range_p().
|
private |
Referenced by add_range(), infer_range_manager(), and ~infer_range_manager().
|
private |
Referenced by add_range(), infer_range_manager(), and ~infer_range_manager().
|
private |
Referenced by add_range(), clear(), get_nonzero(), infer_range_manager(), and ~infer_range_manager().
|
private |
Referenced by add_range(), clear(), has_range_p(), infer_range_manager(), maybe_adjust_range(), and ~infer_range_manager().
|
private |
Referenced by add_ranges(), infer_range_manager(), and register_all_uses().
|
private |
Referenced by add_range(), get_nonzero(), infer_range_manager(), and ~infer_range_manager().
|
private |
Referenced by clear(), has_range_p(), infer_range_manager(), and register_all_uses().