summaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-31 15:36:44 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-31 15:36:44 +0000
commite5e67ff967aaa455da0384f53d6e7df0f2810bd6 (patch)
treeeaa0427bae5b4339998d546e280ad77bc3619e16 /gcc/sched-deps.c
parent3e434bf6c44746b80a58b870db69b1c5cdd227bf (diff)
downloadgcc-e5e67ff967aaa455da0384f53d6e7df0f2810bd6.tar.gz
* sched-deps.c (sched_analyze_2) [UNSPEC_VOLATILE]: Flush pending
memory loads and stores. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142983 138bc75d-0d04-0410-961f-82ee72b054a4
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