gcc/gcc ChangeLog.tree-ssa c-common.c c-common ...

rth@gcc.gnu.org rth@gcc.gnu.org
Mon Dec 8 10:03:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	rth@gcc.gnu.org	2003-12-08 10:03:40

Modified files:
	gcc            : ChangeLog.tree-ssa c-common.c c-common.h 
	                 c-typeck.c expr.c gimplify.c tree-simple.c 
	                 tree-ssa-ccp.c varasm.c 

Log message:
	* c-common.c (c_address_looks_like_offsetof): New.
	* c-common.h (c_address_looks_like_offsetof): Declare.
	* c-typeck.c (build_unary_op) <ADDR_EXPR>: Use it.  Don't lower
	address references not destined for offsetof.
	(c_expand_return): Only look inside ARRAY_REF and COMPONENT_REF
	when looking for returning address of local variable.
	* expr.c (expand_expr_1): Don't dereference size of unbounded arrays.
	* gimplify.c (gimplify_addr_expr): Only fold address of variable size
	array elements.
	* tree-simple.c (is_gimple_min_invariant): Also check
	is_gimple_variable before disallowing offset address for type.
	* tree-ssa-ccp.c (maybe_fold_offset_to_aggregate_ref): New.
	(maybe_fold_offset_to_component_ref): Use it.
	(maybe_fold_stmt_indirect, maybe_fold_stmt_plus): Likewise.
	(maybe_fold_offset_to_array_ref): Likewise.  Don't fail for division
	remainder non-zero.
	* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Use
	handled_component_p and look inside references.
	<MINUS_EXPR>: Always look past widening casts.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.978&r2=1.1.2.979
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.344.2.53&r2=1.344.2.54
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.141.2.39&r2=1.141.2.40
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.196.2.33&r2=1.196.2.34
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.467.2.67&r2=1.467.2.68
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimplify.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.125&r2=1.1.2.126
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-simple.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.63&r2=1.1.4.64
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-ccp.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.121&r2=1.1.2.122
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.295.2.38&r2=1.295.2.39



More information about the Gcc-cvs mailing list