[Bug bootstrap/46474] [4.6 regression] powerpc64-linux bootstrap comparison failure in libcpp/symtab.o

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Nov 14 17:54:00 GMT 2010


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org
   Target Milestone|---                         |4.6.0

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-14 17:41:29 UTC ---
If it's due to the reported difference using fma and not using fma then
probably the tree fma code lacks checks for debug stmts.  Try

Index: tree-ssa-math-opts.c
===================================================================
--- tree-ssa-math-opts.c    (revision 166717)
+++ tree-ssa-math-opts.c    (working copy)
@@ -1534,6 +1534,9 @@

       use_stmt = USE_STMT (use_p);

+      if (is_gimple_debug (use_stmt))
+    continue;
+
       /* For now restrict this operations to single basic blocks.  In theory
      we would want to support sinking the multiplication in
      m = a*b;
@@ -1603,10 +1606,14 @@
   FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, mul_result)
     {
       gimple_stmt_iterator gsi = gsi_for_stmt (use_stmt);
-      enum tree_code use_code = gimple_assign_rhs_code (use_stmt);
+      enum tree_code use_code;
       tree addop, mulop1, result = mul_result;
       bool negate_p = false;

+      if (is_gimple_debug (use_stmt))
+    continue;
+
+      use_code = gimple_assign_rhs_code (use_stmt);
       if (use_code == NEGATE_EXPR)
     {
       result = gimple_assign_lhs (use_stmt);



More information about the Gcc-bugs mailing list