GCC Middle and Back End API Reference
infer_range_manager Class Reference

#include <gimple-range-infer.h>

Inheritance diagram for infer_range_manager:
Collaboration diagram for infer_range_manager:

Data Structures

class  exit_range_head
 

Public Member Functions

 infer_range_manager (bool do_search)
 
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)
 

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 vrangeget_nonzero (tree name)
 

Private Attributes

vec< exit_range_headm_on_exit
 
vec< vrange * > m_nonzero
 
bitmap m_seen
 
bitmap_obstack m_bitmaps
 
struct obstack m_list_obstack
 
class vrange_allocatorm_range_allocator
 

Constructor & Destructor Documentation

◆ infer_range_manager()

◆ ~infer_range_manager()

infer_range_manager::~infer_range_manager ( )
virtual

Member Function Documentation

◆ add_nonzero()

void infer_range_manager::add_nonzero ( tree name,
gimple * s )
private

References add_range(), and get_nonzero().

◆ add_range()

◆ add_ranges()

void infer_range_manager::add_ranges ( gimple * s,
gimple_infer_range & ir )
virtual

◆ get_nonzero()

const vrange & infer_range_manager::get_nonzero ( tree name)
private

◆ has_range_p()

bool infer_range_manager::has_range_p ( basic_block bb,
tree name = NULL_TREE )
virtual

◆ maybe_adjust_range()

bool infer_range_manager::maybe_adjust_range ( vrange & r,
tree name,
basic_block bb )
virtual

◆ register_all_uses()

Field Documentation

◆ m_bitmaps

bitmap_obstack infer_range_manager::m_bitmaps
private

◆ m_list_obstack

struct obstack infer_range_manager::m_list_obstack
private

◆ m_nonzero

vec<vrange *> infer_range_manager::m_nonzero
private

◆ m_on_exit

vec<exit_range_head> infer_range_manager::m_on_exit
private

◆ m_range_allocator

class vrange_allocator* infer_range_manager::m_range_allocator
private

◆ m_seen

bitmap infer_range_manager::m_seen
private

The documentation for this class was generated from the following files: