GCC Middle and Back End API Reference
gori_compute Class Reference

#include <gimple-range-gori.h>

Inheritance diagram for gori_compute:
Collaboration diagram for gori_compute:

Public Member Functions

 gori_compute (int not_executable_flag=0)
 
bool outgoing_edge_range_p (vrange &r, edge e, tree name, range_query &q)
 
bool condexpr_adjust (vrange &r1, vrange &r2, gimple *s, tree cond, tree op1, tree op2, fur_source &src)
 
bool has_edge_range_p (tree name, basic_block bb=NULL)
 
bool has_edge_range_p (tree name, edge e)
 
void dump (FILE *f)
 
bool compute_operand_range (vrange &r, gimple *stmt, const vrange &lhs, tree name, class fur_source &src, value_relation *rel=NULL)
 
bool is_export_p (tree name, basic_block bb=NULL)
 
bool is_import_p (tree name, basic_block bb)
 
bitmap exports (basic_block bb)
 
bitmap imports (basic_block bb)
 
void set_range_invariant (tree name, bool invariant=true)
 
void dump (FILE *f, basic_block bb, bool verbose=true)
 
void dump (FILE *f, basic_block bb, const char *prefix=NULL)
 
tree depend1 (tree name) const
 
tree depend2 (tree name) const
 
bool in_chain_p (tree name, tree def)
 
bool chain_import_p (tree name, tree import)
 
void register_dependency (tree name, tree ssa1, basic_block bb=NULL)
 

Protected Member Functions

bool has_def_chain (tree name)
 
bool def_chain_in_bitmap_p (tree name, bitmap b)
 
void add_def_chain_to_bitmap (bitmap b, tree name)
 
bitmap get_def_chain (tree name)
 
bitmap get_imports (tree name)
 

Protected Attributes

bitmap_obstack m_bitmaps
 

Private Member Functions

bool refine_using_relation (tree op1, vrange &op1_range, tree op2, vrange &op2_range, fur_source &src, relation_kind k)
 
bool may_recompute_p (tree name, edge e, int depth=-1)
 
bool may_recompute_p (tree name, basic_block bb=NULL, int depth=-1)
 
bool compute_operand_range_switch (vrange &r, gswitch *s, const vrange &lhs, tree name, fur_source &src)
 
bool compute_operand1_range (vrange &r, gimple_range_op_handler &handler, const vrange &lhs, fur_source &src, value_relation *rel=NULL)
 
bool compute_operand2_range (vrange &r, gimple_range_op_handler &handler, const vrange &lhs, fur_source &src, value_relation *rel=NULL)
 
bool compute_operand1_and_operand2_range (vrange &r, gimple_range_op_handler &handler, const vrange &lhs, tree name, fur_source &src, value_relation *rel=NULL)
 
void compute_logical_operands (vrange &true_range, vrange &false_range, gimple_range_op_handler &handler, const irange &lhs, tree name, fur_source &src, tree op, bool op_in_chain)
 
bool logical_combine (vrange &r, enum tree_code code, const irange &lhs, const vrange &op1_true, const vrange &op1_false, const vrange &op2_true, const vrange &op2_false)
 
void maybe_add_gori (tree name, basic_block bb)
 
void calculate_gori (basic_block bb)
 
void set_import (struct rdc &data, tree imp, bitmap b)
 

Private Attributes

int_range< 2 > m_bool_zero
 
int_range< 2 > m_bool_one
 
gimple_outgoing_range outgoing
 
range_tracer tracer
 
int m_not_executable_flag
 
vec< bitmapm_outgoing
 
vec< bitmapm_incoming
 
bitmap m_maybe_variant
 
vec< rdcm_def_chain
 
int m_logical_depth
 

Constructor & Destructor Documentation

◆ gori_compute()

gori_compute::gori_compute ( int not_executable_flag = 0)

Member Function Documentation

◆ add_def_chain_to_bitmap()

void range_def_chain::add_def_chain_to_bitmap ( bitmap b,
tree name )
protectedinherited

◆ calculate_gori()

◆ chain_import_p()

bool range_def_chain::chain_import_p ( tree name,
tree import )
inherited

◆ compute_logical_operands()

◆ compute_operand1_and_operand2_range()

◆ compute_operand1_range()

◆ compute_operand2_range()

◆ compute_operand_range()

◆ compute_operand_range_switch()

bool gori_compute::compute_operand_range_switch ( vrange & r,
gswitch * s,
const vrange & lhs,
tree name,
fur_source & src )
private

◆ condexpr_adjust()

◆ def_chain_in_bitmap_p()

bool range_def_chain::def_chain_in_bitmap_p ( tree name,
bitmap b )
protectedinherited

◆ depend1()

◆ depend2()

◆ dump() [1/3]

void gori_compute::dump ( FILE * f)

References gori_map::dump().

◆ dump() [2/3]

◆ dump() [3/3]

◆ exports()

◆ get_def_chain()

◆ get_imports()

◆ has_def_chain()

bool range_def_chain::has_def_chain ( tree name)
inlineprotectedinherited

◆ has_edge_range_p() [1/2]

◆ has_edge_range_p() [2/2]

bool gori_compute::has_edge_range_p ( tree name,
edge e )

◆ imports()

◆ in_chain_p()

◆ is_export_p()

◆ is_import_p()

bool gori_map::is_import_p ( tree name,
basic_block bb )
inherited

◆ logical_combine()

◆ may_recompute_p() [1/2]

◆ may_recompute_p() [2/2]

bool gori_compute::may_recompute_p ( tree name,
edge e,
int depth = -1 )
private

◆ maybe_add_gori()

◆ outgoing_edge_range_p()

◆ refine_using_relation()

◆ register_dependency()

◆ set_import()

◆ set_range_invariant()

void gori_map::set_range_invariant ( tree name,
bool invariant = true )
inherited

Field Documentation

◆ m_bitmaps

◆ m_bool_one

int_range<2> gori_compute::m_bool_one
private

◆ m_bool_zero

int_range<2> gori_compute::m_bool_zero
private

◆ m_def_chain

◆ m_incoming

◆ m_logical_depth

int range_def_chain::m_logical_depth
privateinherited

◆ m_maybe_variant

bitmap gori_map::m_maybe_variant
privateinherited

◆ m_not_executable_flag

int gori_compute::m_not_executable_flag
private

◆ m_outgoing

◆ outgoing

gimple_outgoing_range gori_compute::outgoing
private

Referenced by outgoing_edge_range_p().

◆ tracer


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