simplify-rtx.c (simplify_subreg): Allow volatile memory to be subregged in case we don't have move instruction.

* simplify-rtx.c (simplify_subreg): Allow volatile memory
	to be subregged in case we don't have move instruction.

From-SVN: r43261
This commit is contained in:
Jan Hubicka 2001-06-12 17:25:16 +02:00 committed by Jan Hubicka
parent 2c1a24210c
commit 04864a4677
2 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,16 @@
Tue Jun 12 17:24:07 CEST 2001 Jan Hubicka <jh@suse.cz>
* simplify-rtx.c (simplify_subreg): Allow volatile memory
to be subregged in case we don't have move instruction.
Tue Jun 12 12:20:12 CEST 2001 Jan Hubicka <jh@suse.cz>
* loop.c: Include predict.h
(strength_reduce): Drop branch prediction note in case
number of iterations is known.
* predict.def (PRED_LOOP_ITERATIONS): new.
* Makefile.in (loop.o): Add dependancy on predict.h
2001-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2001-06-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P. * c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.

View File

@ -2409,7 +2409,11 @@ simplify_subreg (outermode, op, innermode, byte)
if (GET_CODE (op) == MEM if (GET_CODE (op) == MEM
&& ! mode_dependent_address_p (XEXP (op, 0)) && ! mode_dependent_address_p (XEXP (op, 0))
&& ! MEM_VOLATILE_P (op) /* Allow splitting of volatile memory references in case we don't
have instruction to move the whole thing. */
&& (! MEM_VOLATILE_P (op)
|| (mov_optab->handlers[(int) innermode].insn_code
== CODE_FOR_nothing))
&& GET_MODE_SIZE (outermode) <= GET_MODE_SIZE (GET_MODE (op))) && GET_MODE_SIZE (outermode) <= GET_MODE_SIZE (GET_MODE (op)))
{ {
rtx new; rtx new;