The following patch fixes PR56005.  The details are on

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

2013-01-16  Vladimir Makarov  <vmaka...@redhat.com>

        PR rtl-optimization/56005
        * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
        pending reads for prefetch.

The patch was successfully bootstrapped and tested on x86-64.

Committed as rev 195247.
Index: sched-deps.c
===================================================================
--- sched-deps.c        (revision 195244)
+++ sched-deps.c        (working copy)
@@ -2719,8 +2719,9 @@ sched_analyze_2 (struct deps_desc *deps,
         to generate accurate dependencies for prefetch insns as
         prefetch has only the start address but it is better to have
         something than nothing.  */
-      add_insn_mem_dependence (deps, true, insn,
-                              gen_rtx_MEM (Pmode, XEXP (PATTERN (insn), 0)));
+      if (!deps->readonly)
+       add_insn_mem_dependence (deps, true, insn,
+                                gen_rtx_MEM (Pmode, XEXP (PATTERN (insn), 0)));
       break;
 
     case UNSPEC_VOLATILE:

Reply via email to