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
This commit is contained in:
Uros Bizjak 2008-12-31 16:36:44 +01:00
parent f8df0eb832
commit a11fe69921
2 changed files with 10 additions and 2 deletions

View file

@ -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

View file

@ -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