From: Uros Bizjak Date: Wed, 31 Dec 2008 15:36:44 +0000 (+0100) Subject: sched-deps.c (sched_analyze_2): Flush pending memory loads and stores. X-Git-Tag: releases/gcc-4.4.0~1086 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a11fe69921144efb1f1cbe5268ec3232b85ea869;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab6a187530ca..bbf1a83cd29a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-12-31 Uros Bizjak + + * sched-deps.c (sched_analyze_2) [UNSPEC_VOLATILE]: Flush pending + memory loads and stores. + 2008-12-31 Jakub Jelinek PR middle-end/38505 @@ -60,7 +65,7 @@ * fold-const.c (fold_comparison): Use the correct result type. 2008-12-30 Dorit Nuzman - Ira Rosen + Ira Rosen 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 81fcb8062280..bff83a2b8444 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