GCC Middle and Back End API Reference
gori_stmt_info Class Reference
Inheritance diagram for gori_stmt_info:
Collaboration diagram for gori_stmt_info:

Public Member Functions

 gori_stmt_info (vrange &lhs, gimple *stmt, range_query *q)
 
gimplestmt () const
 
tree lhs () const
 
tree operand1 () const
 
tree operand2 () const
 
bool calc_op1 (vrange &r, const vrange &lhs_range)
 
bool calc_op1 (vrange &r, const vrange &lhs_range, const vrange &op2_range, relation_trio=TRIO_VARYING)
 
bool calc_op2 (vrange &r, const vrange &lhs_range, const vrange &op1_range, relation_trio=TRIO_VARYING)
 
 operator bool () const
 
range_operatorrange_op () const
 
bool fold_range (vrange &r, tree type, const vrange &lh, const vrange &rh, relation_trio=TRIO_VARYING) const
 
bool op1_range (vrange &r, tree type, const vrange &lhs, const vrange &op2, relation_trio=TRIO_VARYING) const
 
bool op2_range (vrange &r, tree type, const vrange &lhs, const vrange &op1, relation_trio=TRIO_VARYING) const
 
relation_kind lhs_op1_relation (const vrange &lhs, const vrange &op1, const vrange &op2, relation_kind=VREL_VARYING) const
 
relation_kind lhs_op2_relation (const vrange &lhs, const vrange &op1, const vrange &op2, relation_kind=VREL_VARYING) const
 
relation_kind op1_op2_relation (const vrange &lhs, const vrange &op1, const vrange &op2) const
 
bool overflow_free_p (const vrange &lh, const vrange &rh, relation_trio=TRIO_VARYING) const
 
bool operand_check_p (tree, tree, tree) const
 

Static Public Member Functions

static bool supported_p (gimple *s)
 

Data Fields

Value_Range op1_range
 
Value_Range op2_range
 
tree ssa1
 
tree ssa2
 

Protected Member Functions

unsigned dispatch_kind (const vrange &lhs, const vrange &op1, const vrange &op2) const
 
void discriminator_fail (const vrange &, const vrange &, const vrange &) const
 

Protected Attributes

range_operatorm_operator
 

Private Member Functions

void maybe_builtin_call ()
 
void maybe_non_standard ()
 

Private Attributes

gimplem_stmt
 
tree m_op1
 
tree m_op2
 

Constructor & Destructor Documentation

◆ gori_stmt_info()

Member Function Documentation

◆ calc_op1() [1/2]

bool gimple_range_op_handler::calc_op1 ( vrange & r,
const vrange & lhs_range )
inherited

◆ calc_op1() [2/2]

◆ calc_op2()

◆ discriminator_fail()

void range_op_handler::discriminator_fail ( const vrange & r1,
const vrange & r2,
const vrange & r3 ) const
protectedinherited

References gcc_checking_assert, and ggc_alloc().

◆ dispatch_kind()

◆ fold_range()

◆ lhs()

◆ lhs_op1_relation()

◆ lhs_op2_relation()

◆ maybe_builtin_call()

◆ maybe_non_standard()

◆ op1_op2_relation()

◆ op1_range()

bool range_op_handler::op1_range ( vrange & r,
tree type,
const vrange & lhs,
const vrange & op2,
relation_trio rel = TRIO_VARYING ) const
inherited

◆ op2_range()

◆ operand1()

◆ operand2()

◆ operand_check_p()

◆ operator bool()

range_op_handler::operator bool ( ) const
inherited

References default_operator.

◆ overflow_free_p()

◆ range_op()

range_operator * range_op_handler::range_op ( ) const
inherited

◆ stmt()

◆ supported_p()

bool gimple_range_op_handler::supported_p ( gimple * s)
staticinherited

Field Documentation

◆ m_op1

◆ m_op2

◆ m_operator

◆ m_stmt

◆ op1_range

Value_Range gori_stmt_info::op1_range

Referenced by gori_stmt_info().

◆ op2_range

Value_Range gori_stmt_info::op2_range

Referenced by gori_stmt_info().

◆ ssa1

tree gori_stmt_info::ssa1

Referenced by gori_stmt_info().

◆ ssa2

tree gori_stmt_info::ssa2

Referenced by gori_stmt_info().


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