GCC Middle and Back End API Reference
tree_switch_conversion::cluster Class Referenceabstract

#include <tree-switch-conversion.h>

Inheritance diagram for tree_switch_conversion::cluster:
Collaboration diagram for tree_switch_conversion::cluster:

Public Member Functions

 cluster (tree case_label_expr, basic_block case_bb, profile_probability prob, profile_probability subtree_prob)
 
virtual ~cluster ()
 
virtual cluster_type get_type ()=0
 
virtual tree get_low ()=0
 
virtual tree get_high ()=0
 
virtual void debug ()=0
 
virtual void dump (FILE *f, bool details=false)=0
 
virtual void emit (tree, tree, tree, basic_block, location_t)=0
 
virtual bool is_single_value_p ()
 

Static Public Member Functions

static unsigned HOST_WIDE_INT get_range (tree low, tree high)
 

Data Fields

tree m_case_label_expr
 
basic_block m_case_bb
 
profile_probability m_prob
 
profile_probability m_subtree_prob
 
profile_probability m_default_prob
 

Protected Member Functions

 cluster ()
 

Detailed Description

Abstract base class for representing a cluster of cases.

Here is the inheritance hierarachy, and the enum_cluster_type
values for the concrete subclasses:

cluster
|-simple_cluster (SIMPLE_CASE)
`-group_cluster
  |-jump_table_cluster (JUMP_TABLE)
  `-bit_test_cluster   (BIT_TEST).   

Constructor & Destructor Documentation

◆ cluster() [1/2]

cluster< GraphTraits >::cluster ( tree case_label_expr,
basic_block case_bb,
profile_probability prob,
profile_probability subtree_prob )
inline

◆ ~cluster()

virtual tree_switch_conversion::cluster::~cluster ( )
inlinevirtual

◆ cluster() [2/2]

tree_switch_conversion::cluster::cluster ( )
inlineprotected

Member Function Documentation

◆ debug()

virtual void tree_switch_conversion::cluster::debug ( )
pure virtual

◆ dump()

virtual void tree_switch_conversion::cluster::dump ( FILE * f,
bool details = false )
pure virtual

◆ emit()

◆ get_high()

◆ get_low()

◆ get_range()

◆ get_type()

◆ is_single_value_p()

virtual bool tree_switch_conversion::cluster::is_single_value_p ( )
inlinevirtual

Field Documentation

◆ m_case_bb

◆ m_case_label_expr

tree tree_switch_conversion::cluster::m_case_label_expr

◆ m_default_prob

◆ m_prob

◆ m_subtree_prob


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