This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.tree-ssa gimplify.c tree-sim ...
- From: jason at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 13 May 2003 19:44:44 -0000
- Subject: 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