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

◆ dispatch_kind()

unsigned range_op_handler::dispatch_kind ( const vrange & lhs,
const vrange & op1,
const vrange & op2 ) const
protected

◆ fold_range()

◆ lhs_op1_relation()

relation_kind range_op_handler::lhs_op1_relation ( const vrange & lhs,
const vrange & op1,
const vrange & op2,
relation_kind rel = VREL_VARYING ) const

◆ lhs_op2_relation()

relation_kind range_op_handler::lhs_op2_relation ( const vrange & lhs,
const vrange & op1,
const vrange & op2,
relation_kind rel = VREL_VARYING ) const

◆ op1_op2_relation()

◆ op1_range()

◆ 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

Field Documentation

◆ m_operator


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