diff options
author | Nick Clifton <nickc@cygnus.com> | 1999-03-18 15:59:50 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1999-03-18 15:59:50 +0000 |
commit | 6449b397c253d735bdfd01cde000d742450fb003 (patch) | |
tree | 4483e5f989782f17a1c4a61828276eb2543f747f /gcc/loop.c | |
parent | 9f4749b181530b7661dff39370ed4e62d63b54f5 (diff) | |
download | gcc-6449b397c253d735bdfd01cde000d742450fb003.zip gcc-6449b397c253d735bdfd01cde000d742450fb003.tar.gz gcc-6449b397c253d735bdfd01cde000d742450fb003.tar.bz2 |
Do not perform pseudo replacements if the loop contains volatile memory
references.
From-SVN: r25841
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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; |