summaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2008-12-31 16:36:44 +0100
committerUros Bizjak <uros@gcc.gnu.org>2008-12-31 16:36:44 +0100
commita11fe69921144efb1f1cbe5268ec3232b85ea869 (patch)
treeeaa0427bae5b4339998d546e280ad77bc3619e16 /gcc/sched-deps.c
parentf8df0eb83203acb7e5764a1f0740a705f79b9f08 (diff)
downloadgcc-a11fe69921144efb1f1cbe5268ec3232b85ea869.tar.gz
sched-deps.c (sched_analyze_2): Flush pending memory loads and stores.
* sched-deps.c (sched_analyze_2) [UNSPEC_VOLATILE]: Flush pending memory loads and stores. From-SVN: r142983
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 81fcb806228..bff83a2b844 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2132,9 +2132,12 @@ sched_analyze_2 (struct deps *deps, rtx x, rtx insn)
flush_pending_lists (deps, insn, true, false);
break;
+ case UNSPEC_VOLATILE:
+ flush_pending_lists (deps, insn, true, true);
+ /* FALLTHRU */
+
case ASM_OPERANDS:
case ASM_INPUT:
- case UNSPEC_VOLATILE:
{
/* Traditional and volatile asm instructions must be considered to use
and clobber all hard registers, all pseudo-registers and all of