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-Tag: basepoints/gcc-7~5510 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2fde61e3caf4c4660743e53497f52b65da1fe760;p=thirdparty%2Fgcc.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 e89f685cb8cb..51649b63c2b7 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 9a66f5274bb6..9cf02783c46c 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))))