aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2017-02-23 08:49:06 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-02-23 08:49:06 +0100
commitb607e75e25261ac2c81d71fe1a4dcf5fcd166603 (patch)
treec83ce2682d44020d9ccc173ce01b86a17929c8a2 /gcc/tree.h
parent18eb304e5f35d745dcb1a9bb41a2879a364f59fe (diff)
downloadgcc-b607e75e25261ac2c81d71fe1a4dcf5fcd166603.zip
gcc-b607e75e25261ac2c81d71fe1a4dcf5fcd166603.tar.gz
gcc-b607e75e25261ac2c81d71fe1a4dcf5fcd166603.tar.bz2
re PR middle-end/79665 (gcc's signed (x*x)/200 is slower than clang's)
PR middle-end/79665 * internal-fn.c (get_range_pos_neg): Moved to ... * tree.c (get_range_pos_neg): ... here. No longer static. * tree.h (get_range_pos_neg): New prototype. * expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments are known to be in between 0 and signed maximum inclusive, try to expand both unsigned and signed divmod and use the cheaper one from those. From-SVN: r245676
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 3b12509..aa137e4 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -4876,6 +4876,7 @@ extern bool gimple_canonical_types_compatible_p (const_tree, const_tree,
bool trust_type_canonical = true);
extern bool type_with_interoperable_signedness (const_tree);
extern bitmap get_nonnull_args (const_tree);
+extern int get_range_pos_neg (tree);
/* Return simplified tree code of type that is used for canonical type
merging. */