GCC Middle and Back End API Reference
|
Data Fields | |
tree | exp |
tree | low |
tree | high |
bool | in_p |
bool | strict_overflow_p |
unsigned int | idx |
unsigned int | next |
The following functions are subroutines to optimize_range_tests and allow it to try to change a logical combination of comparisons into a range test.
For example, both X == 2 || X == 5 || X == 3 || X == 4 and X >= 2 && X <= 5 are converted to (unsigned) (X - 2) <= 3
For more information see comments above fold_test_range in fold-const.c, this implementation is for GIMPLE.
tree range_entry::exp |
Referenced by optimize_ops_list(), and update_range_test().
tree range_entry::high |
Referenced by optimize_ops_list(), and optimize_range_tests_diff().
unsigned int range_entry::idx |
Referenced by optimize_ops_list(), and optimize_range_tests_diff().
bool range_entry::in_p |
Referenced by optimize_ops_list(), optimize_range_tests_diff(), and update_range_test().
tree range_entry::low |
Referenced by optimize_ops_list(), and optimize_range_tests_diff().
unsigned int range_entry::next |
Referenced by optimize_ops_list().
bool range_entry::strict_overflow_p |
Referenced by optimize_ops_list(), optimize_range_tests_diff(), and update_range_test().