GCC Middle and Back End API Reference
|
#include <tree-switch-conversion.h>
Static Public Member Functions | |
static int | cmp (const void *p1, const void *p2) |
Data Fields | |
wide_int | mask |
basic_block | target_bb |
tree | label |
int | bits |
profile_probability | prob |
A case_bit_test represents a set of case nodes that may be selected from using a bit-wise comparison. HI and LO hold the integer to be tested against, TARGET_EDGE contains the edge to the basic block to jump to upon success and BITS counts the number of case nodes handled by this test, typically the number of bits set in HI:LO. The LABEL field is used to quickly identify all cases in this set without looking at label_to_block for every case label.
|
static |
Comparison function for qsort to order bit tests by decreasing probability of execution.
References bits, CASE_LABEL, d1, d2, and LABEL_DECL_UID.
Referenced by tree_switch_conversion::bit_test_cluster::emit().
int tree_switch_conversion::case_bit_test::bits |
Referenced by cmp(), and tree_switch_conversion::bit_test_cluster::emit().
tree tree_switch_conversion::case_bit_test::label |
Referenced by tree_switch_conversion::bit_test_cluster::emit().
wide_int tree_switch_conversion::case_bit_test::mask |
Referenced by tree_switch_conversion::bit_test_cluster::emit().
profile_probability tree_switch_conversion::case_bit_test::prob |
Referenced by tree_switch_conversion::bit_test_cluster::emit().
basic_block tree_switch_conversion::case_bit_test::target_bb |
Referenced by tree_switch_conversion::bit_test_cluster::emit().