egcs/gcc ChangeLog builtins.c c-common.c built ...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Thu Nov 9 01:07:00 GMT 2000


CVSROOT:	/cvs/gcc
Module name:	egcs
Changes by:	jakub@gcc.gnu.org	2000-11-09 01:07:44

Modified files:
	gcc            : ChangeLog builtins.c c-common.c builtins.def 
	gcc/testsuite  : ChangeLog 
	gcc/testsuite/gcc.c-torture/execute: string-opt-1.c 
Added files:
	gcc/testsuite/gcc.c-torture/execute: string-opt-3.c 
	                                     string-opt-4.c 
	                                     string-opt-5.c 

Log message:
	* builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
	(c_getstr): New function.
	(expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
	If both arguments are constant string, optimize out.
	(expand_builtin_strchr, expand_builtin_strrchr): New functions.
	(expand_builtin_strpbrk): Use c_getstr, do nothing if
	-fcheck-memory-usage.
	(expand_builtin_fputs): Likewise.
	(expand_builtin_strcmp): Add MODE argument.
	Use even if !HAVE_cmpstrsi.
	Optimize the case when both arguments are constant strings.
	(expand_builtin): Adjust expand_builtin_strcmp caller.
	Call expand_builtin_strchr and expand_builtin_strrchr.
	* c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
	builtins.
	* builtins.def (BUILT_IN_STRRCHR): Add.
	
	* gcc.c-torture/execute/string-opt-1.c: Add test for strstr
	with both arguments constant strings.
	* gcc.c-torture/execute/string-opt-3.c: New test.
	* gcc.c-torture/execute/string-opt-4.c: New test.
	* gcc.c-torture/execute/string-opt-5.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.8200&r2=1.8201
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/builtins.c.diff?cvsroot=gcc&r1=1.65&r2=1.66
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/c-common.c.diff?cvsroot=gcc&r1=1.184&r2=1.185
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/builtins.def.diff?cvsroot=gcc&r1=1.10&r2=1.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.807&r2=1.808
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.c-torture/execute/string-opt-3.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.c-torture/execute/string-opt-4.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.c-torture/execute/string-opt-5.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/testsuite/gcc.c-torture/execute/string-opt-1.c.diff?cvsroot=gcc&r1=1.1&r2=1.2



More information about the Gcc-cvs mailing list