aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-01-16 18:27:58 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-01-16 18:27:58 +0000
commit79f01c76e0657bdc18c7a3218e94f16437800958 (patch)
tree99f84bd4934abd3903e31652f599b6ef2fc73a54 /gcc
parent20f36478dcf5ffd0d6816a3fd0e9753e6571d8fc (diff)
downloadgcc-79f01c76e0657bdc18c7a3218e94f16437800958.zip
gcc-79f01c76e0657bdc18c7a3218e94f16437800958.tar.gz
gcc-79f01c76e0657bdc18c7a3218e94f16437800958.tar.bz2
re PR rtl-optimization/56005 (FAIL: gcc.target/i386/pr45352.c (internal compiler error))
2013-01-16 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/56005 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding pending reads for prefetch. From-SVN: r195247
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/sched-deps.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2205dc4..41a4b42 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-16 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/56005
+ * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
+ pending reads for prefetch.
+
2013-01-16 Ian Bolton <ian.bolton@arm.com>
* gcc/config/aarch64/aarch64.md
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 3f37aa0..2b40286 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2719,8 +2719,9 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx insn)
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: