OSDN Git Service

* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2001 14:52:14 +0000 (14:52 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Jun 2001 14:52:14 +0000 (14:52 +0000)
commit81802af67bf22f3decf31100628f236650275ddb
treed351d9b0c5c56ead3c8dc57fbda5329e9a5df46f
parent1580af85fa12b48da3d5888ce74a8e689911958b
* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
in case register wasn't OK previously, accept it now; allow
subregs of frame pointer if reload completed and frame pointer
is not needed.

* combine.c (sombine_simplify_rtx): Fix comment;
use subreg_lowpart_offset instead of subreg_lowpart_p
(gen_lowpart_for_combine): Use subreg_lowpart_offset.
* rtl.h (subreg_lowpart_parts_p): Kill.
(subreg_lowpart_offset, subreg_highpart_offset): Declare.
* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
* emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
(gen_lowpart_common): Likewise.
(subreg_lowpart_p): Likewise.
(subreg_lowpart_parts_p): Kill.
(subreg_lowpart_offset, subreg_highpart_offset): New function.

* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
to simplify SUBREG and REG.
(gen_highpart): Use simplify_gen_subreg for all simplifications.

* emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
CONCAT specially.

* rtlanal.c (replace_regs):  Use simplify_gen_subreg

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42850 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c
gcc/emit-rtl.c
gcc/rtl.h
gcc/rtlanal.c
gcc/simplify-rtx.c