This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc config/sh/sh.c config/sh/sh.h config/s ...
- From: amylaar at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 14 Sep 2005 21:29:10 -0000
- Subject: gcc/gcc config/sh/sh.c config/sh/sh.h config/s ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: sh-elf-4_1-branch
Changes by: amylaar@gcc.gnu.org 2005-09-14 21:29:08
Modified files:
gcc/config/sh : sh.c sh.h sh.md
gcc/doc : tm.texi
Log message:
2005-09-14 J"orn Rennecke <joern.rennecke@st.com>
Kaz Kojima <kkojima@gcc.gnu.org>
PR middle-end/23868
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00129.html
* target.h (struct gcc_target): Add new member calls.apply_result_mode.
* target-def.h (TARGET_APPLY_RESULT_MODE): Define.
(TARGET_CALLS): Add TARGET_APPLY_RESULT_MODE.
* targhooks.c (regs.h, hard-reg-set.h): Include.
(apply_result_mode_1reg, apply_result_mode_scanreg): New functions.
* targhooks.h (apply_result_mode_1reg): Declare.
(apply_result_mode_scanreg): Likewise.
* buitins.c (apply_result_size): Use targetm.apply_result_mode.
* doc/tm.texi (TARGET_APPLY_RESULT_MODE): Document.
* mode-switching.c (create_pre_exit): Cope with USEs made by
builtin_return which are wider than the last function result USE.
2005-09-14 J"orn Rennecke <joern.rennecke@st.com>
PR middle-end/23868
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00129.html
* sh.c (sh_apply_result_mode): New function.
(TARGET_APPLY_RESULT_MODE): Redefine.
* sh.md (UNSPEC_CALL_RESULT): New constant.
(untyped_call_result): New pattern.
(untyped_call): Use it to make function result assignments visible.
Remove expander predicate.
(untyped_return): New pattern.
* sh.h (HARD_REGNO_MODE_OK): Fix handling of DCmode.
(LEGITIMIZE_RELOAD_ADDRESS): For TARGET_SHMEDIA32, reload
inside of 64 bit reg+reg address as needed.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.319.2.9&r2=1.319.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.262.2.8&r2=1.262.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.md.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.191.2.5&r2=1.191.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.421.2.5&r2=1.421.2.6