[Bug middle-end/49189] [4.7 regression] infinite recursion in constant folder

wschmidt at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 27 13:39:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49189

--- Comment #7 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-27 13:30:03 UTC ---
Author: wschmidt
Date: Fri May 27 13:29:57 2011
New Revision: 174331

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174331
Log:
Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog    (revision 174330)
+++ gcc/ChangeLog    (working copy)
@@ -1,3 +1,9 @@
+2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+    PR tree-optimization/49170
+    * tree-ssa-math-opts.c (execute_cse_sincos):  Add checks for
+    sincos or cexp.
+    
 2011-05-27  Richard Guenther  <rguenther@suse.de>

     PR middle-end/49189
Index: gcc/tree-ssa-math-opts.c
===================================================================
--- gcc/tree-ssa-math-opts.c    (revision 174330)
+++ gcc/tree-ssa-math-opts.c    (working copy)
@@ -1093,6 +1093,10 @@ execute_cse_sincos (void)
         CASE_FLT_FN (BUILT_IN_COS):
         CASE_FLT_FN (BUILT_IN_SIN):
         CASE_FLT_FN (BUILT_IN_CEXPI):
+          /* Make sure we have either sincos or cexp.  */
+          if (!TARGET_HAS_SINCOS && !TARGET_C99_FUNCTIONS)
+            break;
+
           arg = gimple_call_arg (stmt, 0);
           if (TREE_CODE (arg) == SSA_NAME)
             cfg_changed |= execute_cse_sincos_1 (arg);

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c



More information about the Gcc-bugs mailing list