aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-10-17 12:54:54 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2014-10-17 12:54:54 +0200
commit73049af5fa62c7eeca27585f8f318e9bea7c47ae (patch)
tree3d9f1e754cc0f6442d99387021c379a081f76de3 /gcc/gimple.h
parent4eb4a256cd4a39555f4d834c47cabc2e136ed02a (diff)
downloadgcc-73049af5fa62c7eeca27585f8f318e9bea7c47ae.zip
gcc-73049af5fa62c7eeca27585f8f318e9bea7c47ae.tar.gz
gcc-73049af5fa62c7eeca27585f8f318e9bea7c47ae.tar.bz2
re PR tree-optimization/63464 (compare one character to many: faster)
PR tree-optimization/63464 * gimple.h (gimple_seq_discard): New prototype. * gimple.c: Include stringpool.h and tree-ssanames.h. (gimple_seq_discard): New function. * optabs.h (lshift_cheap_p): New prototype. * optabs.c (lshift_cheap_p): New function, moved from... * tree-switch-conversion.c (lshift_cheap_p): ... here. * tree-ssa-reassoc.c: Include gimplify.h and optabs.h. (reassoc_branch_fixups): New variable. (update_range_test): Add otherrangep and seq arguments. Unshare exp. If otherrange is NULL, use for other ranges array of pointers pointed by otherrangep instead. Emit seq before gimplified statements for tem. (optimize_range_tests_diff): Adjust update_range_test caller. (optimize_range_tests_xor): Likewise. Fix up comment. (extract_bit_test_mask, optimize_range_tests_to_bit_test): New functions. (optimize_range_tests): Adjust update_range_test caller. Call optimize_range_tests_to_bit_test. (branch_fixup): New function. (execute_reassoc): Call branch_fixup. * gcc.dg/torture/pr63464.c: New test. * gcc.dg/tree-ssa/reassoc-37.c: New test. * gcc.dg/tree-ssa/reassoc-38.c: New test. From-SVN: r216393
Diffstat (limited to 'gcc/gimple.h')
-rw-r--r--gcc/gimple.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/gimple.h b/gcc/gimple.h
index ec41585..7f1240f 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -1269,9 +1269,10 @@ extern bool gimple_asm_clobbers_memory_p (const_gimple);
extern void dump_decl_set (FILE *, bitmap);
extern bool nonfreeing_call_p (gimple);
extern bool infer_nonnull_range (gimple, tree, bool, bool);
-extern void sort_case_labels (vec<tree> );
-extern void preprocess_case_label_vec_for_gimple (vec<tree> , tree, tree *);
-extern void gimple_seq_set_location (gimple_seq , location_t);
+extern void sort_case_labels (vec<tree>);
+extern void preprocess_case_label_vec_for_gimple (vec<tree>, tree, tree *);
+extern void gimple_seq_set_location (gimple_seq, location_t);
+extern void gimple_seq_discard (gimple_seq);
/* Formal (expression) temporary table handling: multiple occurrences of
the same scalar expression are evaluated into the same temporary. */