From: Richard Biener Date: Thu, 23 Jul 2015 07:29:53 +0000 (+0000) Subject: re PR middle-end/66916 (FAIL: gcc.target/arm/pr43920-2.c object-size text <= 54) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2fde61e3caf4c4660743e53497f52b65da1fe760;p=gcc.git re PR middle-end/66916 (FAIL: gcc.target/arm/pr43920-2.c object-size text <= 54) 2015-07-23 Richard Biener PR middle-end/66916 * match.pd: Guard widen and sign-change comparison simplification with single_use. From-SVN: r226089 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e89f685cb8c..51649b63c2b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-07-23 Richard Biener + + PR middle-end/66916 + * match.pd: Guard widen and sign-change comparison simplification + with single_use. + 2015-07-23 Richard Biener PR tree-optimization/66945 diff --git a/gcc/match.pd b/gcc/match.pd index 9a66f5274bb..9cf02783c46 100644 --- a/gcc/match.pd +++ b/gcc/match.pd @@ -1679,7 +1679,8 @@ along with GCC; see the file COPYING3. If not see type on targets that require function pointer canonicalization. */ && !(targetm.have_canonicalize_funcptr_for_compare () && TREE_CODE (TREE_TYPE (@00)) == POINTER_TYPE - && TREE_CODE (TREE_TYPE (TREE_TYPE (@00))) == FUNCTION_TYPE)) + && TREE_CODE (TREE_TYPE (TREE_TYPE (@00))) == FUNCTION_TYPE) + && single_use (@0)) (if (TYPE_PRECISION (TREE_TYPE (@00)) == TYPE_PRECISION (TREE_TYPE (@0)) && (TREE_CODE (@10) == INTEGER_CST || (@1 != @10 && types_match (TREE_TYPE (@10), TREE_TYPE (@00))))