------- Comment #9 from spark at gcc dot gnu dot org  2007-03-13 18:29 -------
How does this one look ? If it looks reasonable, I'll start the testing with
the mainline.

Index: tree-nrv.c
===================================================================
--- tree-nrv.c  (revision 122871)
+++ tree-nrv.c  (working copy)
@@ -163,6 +163,14 @@ tree_nrv (void)
                                                     result_type))
                return 0;
            }
+         else if (TREE_CODE (stmt) == GIMPLE_MODIFY_STMT)
+           {
+             tree addr = get_base_address (GIMPLE_STMT_OPERAND (stmt, 0));
+              /* If there's any MODIFY of component of RESULT,
+                 then bail out.  */
+             if (addr && addr == result)
+               return 0;
+           }
        }
     }


-- 


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

Reply via email to