From 6449b397c253d735bdfd01cde000d742450fb003 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 18 Mar 1999 15:59:50 +0000 Subject: [PATCH] Do not perform pseudo replacements if the loop contains volatile memory references. From-SVN: r25841 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e06c403e5ce..94aedd183d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 18 15:58:26 1999 Nick Clifton + + * loop.c (strength_reduce): Do not perform pseudo replacements + if the loop contains volatile memory references. + Thu Mar 18 19:09:50 1999 J"orn Rennecke * reload.c (find_reloads_toplev): When processing X recursively, diff --git a/gcc/loop.c b/gcc/loop.c index a2023b22d19..551bcf6359a 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -4115,8 +4115,11 @@ strength_reduce (scan_start, end, loop_top, insn_count, first_increment_giv = max_reg_num (); for (n_extra_increment = 0, bl = loop_iv_list; bl; bl = bl->next) n_extra_increment += bl->biv_count - 1; + + /* If the loop contains volatile memory references do not allow any + replacements to take place, since this could loose the volatile markers. */ /* XXX Temporary. */ - if (0 && n_extra_increment) + if (0 && n_extra_increment && ! loop_has_volatile) { int nregs = first_increment_giv + n_extra_increment; -- 2.30.2