GCC Middle and Back End API Reference
range_op_handler Class Reference

#include <range-op.h>

Inheritance diagram for range_op_handler:
Collaboration diagram for range_op_handler:

Public Member Functions

 range_op_handler ()
 
 range_op_handler (unsigned)
 
 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
 

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
 

Constructor & Destructor Documentation

◆ range_op_handler() [1/2]

range_op_handler::range_op_handler ( )

◆ range_op_handler() [2/2]

range_op_handler::range_op_handler ( unsigned code)

Member Function Documentation

◆ discriminator_fail()

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

References gcc_checking_assert, and ggc_alloc().

◆ dispatch_kind()

◆ fold_range()

◆ lhs_op1_relation()

◆ lhs_op2_relation()

◆ 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

◆ op2_range()

◆ operand_check_p()

◆ operator bool()

range_op_handler::operator bool ( ) const

References default_operator.

◆ overflow_free_p()

bool range_op_handler::overflow_free_p ( const vrange & lh,
const vrange & rh,
relation_trio rel = TRIO_VARYING ) const

◆ range_op()

range_operator * range_op_handler::range_op ( ) const

References default_operator, and m_operator.

Referenced by op1_range().

Field Documentation

◆ m_operator


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