This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc/gcc ChangeLog.tree-ssa gimplify.c tree-sim ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	tree-ssa-20020619-branch
Changes by:	jason@gcc.gnu.org	2003-05-13 19:44:44

Modified files:
	gcc            : ChangeLog.tree-ssa gimplify.c tree-simple.h 

Log message:
	Implement expression temporary optimization.
	* gimplify.c (gimplify_ctx): Add temp_htab field.
	(push_gimplify_context): Initialize it.
	(pop_gimplify_context): Destroy it.
	(simplify_expr): If there's no internal postqueue, generate an
	expression temporary.
	(gimple_tree_hash, gimple_tree_eq): New fns.
	(create_tmp_from_val, lookup_tmp_var): New fns.
	(get_formal_tmp_var): New fn.
	(internal_get_tmp_var): New fn.
	(get_initialized_tmp_var): Use it.
	* tree-simple.h: Declare it.
	
	* gimplify.c (simplify_cond_expr): Reorganize.
	(shortcut_cond_expr, shortcut_cond_r): New fns.
	(build_and_jump): New fn.
	(gimplify_exit_expr): Use it.
	
	* gimplify.c (simplify_expr): Do better at stripping unnecessary
	NOPs.  Tidy GOTO_EXPR handling.  Don't allow NON_LVALUE_EXPR.
	* tree-simple.c (is_simple_modify_expr): Don't allow NON_LVALUE_EXPR.
	(is_simple_binary_expr, is_simple_condexpr): Likewise.
	(is_simple_unary_expr, is_simple_compound_lval): Likewise.
	(is_simple_id): Likewise.

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.353&r2=1.1.2.354
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.39&r2=1.1.2.40
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-simple.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.22&r2=1.1.4.23


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]