]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/rtlanal.c
simplify_rtx.c (simplify_subreg): Keep subregs on return values...
authorJan Hubicka <jh@suse.cz>
Mon, 4 Jun 2001 14:52:14 +0000 (16:52 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 4 Jun 2001 14:52:14 +0000 (14:52 +0000)
commite0e08ac26c828bca4b9323d3139eba9293f3ecf4
treed351d9b0c5c56ead3c8dc57fbda5329e9a5df46f
parent95307c8e0167e5460471eecb7056913b63d6043a
simplify_rtx.c (simplify_subreg): Keep subregs on return values...

* 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

From-SVN: r42850
gcc/ChangeLog
gcc/combine.c
gcc/emit-rtl.c
gcc/rtl.h
gcc/rtlanal.c
gcc/simplify-rtx.c