diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2008-12-31 16:36:44 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-12-31 16:36:44 +0100 |
commit | a11fe69921144efb1f1cbe5268ec3232b85ea869 (patch) | |
tree | eaa0427bae5b4339998d546e280ad77bc3619e16 | |
parent | f8df0eb83203acb7e5764a1f0740a705f79b9f08 (diff) | |
download | gcc-a11fe69921144efb1f1cbe5268ec3232b85ea869.zip gcc-a11fe69921144efb1f1cbe5268ec3232b85ea869.tar.gz gcc-a11fe69921144efb1f1cbe5268ec3232b85ea869.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/sched-deps.c | 5 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab6a187..bbf1a83 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-12-31 Uros Bizjak <ubizjak@gmail.com> + + * sched-deps.c (sched_analyze_2) [UNSPEC_VOLATILE]: Flush pending + memory loads and stores. + 2008-12-31 Jakub Jelinek <jakub@redhat.com> PR middle-end/38505 @@ -60,7 +65,7 @@ * fold-const.c (fold_comparison): Use the correct result type. 2008-12-30 Dorit Nuzman <dorit@il.ibm.com> - Ira Rosen <irar@il.ibm.com> + Ira Rosen <irar@il.ibm.com> PR tree-optimization/38529 * tree-vect-transform (vect_transform_stmt): Handle inner-loop stmts diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 81fcb80..bff83a2 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 |