gcc/gcc ChangeLog builtins.c mode-switching.c ...

amylaar@gcc.gnu.org amylaar@gcc.gnu.org
Wed Sep 14 21:30:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	sh-elf-4_1-branch
Changes by:	amylaar@gcc.gnu.org	2005-09-14 21:30:58

Modified files:
	gcc            : ChangeLog builtins.c mode-switching.c 
	                 target-def.h target.h targhooks.c targhooks.h 

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/ChangeLog.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.8142.2.29&r2=2.8142.2.30
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/builtins.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.450.2.3&r2=1.450.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/mode-switching.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.5.2.2&r2=2.5.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.117.2.5&r2=1.117.2.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=1.129.2.4&r2=1.129.2.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/targhooks.c.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.38.4.3&r2=2.38.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/targhooks.h.diff?cvsroot=gcc&only_with_tag=sh-elf-4_1-branch&r1=2.27.4.3&r2=2.27.4.4



More information about the Gcc-cvs mailing list