diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-09-30 17:00:12 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-09-30 17:00:12 +0200 |
commit | 0ccb5dbf93d900812222d4383760d6c632bf2382 (patch) | |
tree | 573817e015f2034176cc6127bcda920e8e5f7953 /gcc/tree.h | |
parent | 915afed63edcfbc614b3357d0862a4124a156d3a (diff) | |
download | gcc-0ccb5dbf93d900812222d4383760d6c632bf2382.zip gcc-0ccb5dbf93d900812222d4383760d6c632bf2382.tar.gz gcc-0ccb5dbf93d900812222d4383760d6c632bf2382.tar.bz2 |
re PR tree-optimization/46309 (optimization a==3||a==1)
PR tree-optimization/46309
* fold-const.c (make_range, merge_ranges): Remove prototypes.
(make_range_step): New function.
(make_range): Use it.
* tree.h (make_range_step): New prototypes.
* Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
* tree-ssa-reassoc.c: Include diagnostic-core.h.
(struct range_entry): New type.
(init_range_entry, range_entry_cmp, update_range_test,
optimize_range_tests): New functions.
(reassociate_bb): Call optimize_range_tests.
* gcc.dg/pr46309.c: New test.
From-SVN: r179388
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -5384,6 +5384,8 @@ extern unsigned int get_pointer_alignment (tree); extern tree fold_call_stmt (gimple, bool); extern tree gimple_fold_builtin_snprintf_chk (gimple, tree, enum built_in_function); extern tree make_range (tree, int *, tree *, tree *, bool *); +extern tree make_range_step (location_t, enum tree_code, tree, tree, tree, + tree *, tree *, int *, bool *); extern tree build_range_check (location_t, tree, tree, int, tree, tree); extern bool merge_ranges (int *, tree *, tree *, int, tree, tree, int, tree, tree); |