aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-09-30 17:00:12 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-09-30 17:00:12 +0200
commit0ccb5dbf93d900812222d4383760d6c632bf2382 (patch)
tree573817e015f2034176cc6127bcda920e8e5f7953 /gcc/tree.h
parent915afed63edcfbc614b3357d0862a4124a156d3a (diff)
downloadgcc-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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index ac45ea6..f064bbe 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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);