|
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 init_range_entry(), range_entry_cmp(), and update_range_test().
| tree range_entry::high |
Referenced by init_range_entry(), optimize_range_tests(), range_entry_cmp(), and update_range_test().
| unsigned int range_entry::idx |
Referenced by optimize_range_tests(), range_entry_cmp(), and update_range_test().
| bool range_entry::in_p |
Referenced by init_range_entry(), optimize_range_tests(), and update_range_test().
| tree range_entry::low |
Referenced by init_range_entry(), optimize_range_tests(), range_entry_cmp(), and update_range_test().
| unsigned int range_entry::next |
| bool range_entry::strict_overflow_p |
Referenced by init_range_entry(), optimize_range_tests(), and update_range_test().