aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>2009-09-07 10:30:32 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2009-09-07 10:30:32 +0000
commit3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9 (patch)
tree179ca9694e2adeee4f8201d3c4d57be345602003 /gcc/sched-deps.c
parent2dcbb2c0bf2fcdfec60dab2105ccd93815a30005 (diff)
downloadgcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.zip
gcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.tar.gz
gcc-3fce100b4014ea58b55e5f8b6a8475b6eff3b3e9.tar.bz2
rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro.
2009-09-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * rtl.h (PREFETCH_SCHEDULE_BARRIER_P): New macro. * sched-deps.c (sched_analyze_2): Make prefetches a hard barrier when volatile flag is set. * doc/rtl.texi (PREFETCH_SCHEDULE_BARRIER_P): Add documentation pieces. From-SVN: r151475
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 25f03d2..e9dac31 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2487,6 +2487,11 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
flush_pending_lists (deps, insn, true, false);
break;
+ case PREFETCH:
+ if (PREFETCH_SCHEDULE_BARRIER_P (x))
+ reg_pending_barrier = TRUE_BARRIER;
+ break;
+
case UNSPEC_VOLATILE:
flush_pending_lists (deps, insn, true, true);
/* FALLTHRU */