diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-02-23 08:49:06 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-02-23 08:49:06 +0100 |
commit | b607e75e25261ac2c81d71fe1a4dcf5fcd166603 (patch) | |
tree | c83ce2682d44020d9ccc173ce01b86a17929c8a2 /gcc/tree.h | |
parent | 18eb304e5f35d745dcb1a9bb41a2879a364f59fe (diff) | |
download | gcc-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.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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. */ |