This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.tree-ssa basic-block.h tree- ...
- From: dnovillo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 16 Aug 2002 15:50:34 -0000
- Subject: gcc/gcc ChangeLog.tree-ssa basic-block.h tree- ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: dnovillo@gcc.gnu.org 2002-08-16 08:50:34
Modified files:
gcc : ChangeLog.tree-ssa basic-block.h tree-cfg.c
tree-dfa.c tree-flow.h tree-simple.c
tree-simple.h tree-ssa-ccp.c tree-ssa-pre.c
tree-ssa.c
Log message:
* basic-block.h (BB_CONTROL_EXPR): Update value.
(BB_LOOP_CONTROL_EXPR): Define.
(BB_CONTROL_ENTRY): Update value.
* tree-cfg.c (make_for_stmt_blocks): Flag header blocks withh
BB_LOOP_CONTROL_EXPR.
(make_while_stmt_blocks): Ditto.
(make_do_stmt_blocks): Ditto.
(tree_delete_bb): Update annotations in the loop entry block when
removing one of the loop expression blocks.
* tree-dfa.c (tree_find_varrefs): Disregard empty blocks.
(find_refs_in_stmt): Handle all the loop expression blocks in
FOR_STMT and DO_STMT nodes.
(find_refs_in_expr): Change first argument to tree *. Update all
callers.
Force all references to be definitions when the expression is not
in SIMPLE form.
Also create references for compound variables and array references.
Not just their individual components.
Always use the original parent expression when making recursive
calls.
(create_ref): Add new argument operand_p. Update all callers.
(remove_tree_ann): New function.
(dump_varref): Don't assume that the referenced symbol is a _DECL
node.
* tree-flow.h (treeref_common): Add field operand_p.
(VARREF_OPERAND_P): Define.
(BB_EMPTY_P): Define.
(remove_tree_ann): Declare.
(create_ref): Add new argument operand_p.
* tree-simple.c (get_base_symbol): New function.
* tree-simple.h (get_base_symbol): Declare.
* tree-ssa-ccp.c (visit_assignment): Call it.
(ssa_ccp_substitute_constants): Use VARREF_OPERAND_P to replace
values into the expression.
(evaluate_expr_for): Ditto.
Do not try to evaluate the expression if the reference is not of
the same type as the expression.
After evaluation, restore the expression to its original form.
* tree-ssa-pre.c (insert_occ_in_preorder_dt_order_): Update calls
to create_ref.
(finalize_): Ditto.
(expr_phi_insertion): Ditto.
* tree-ssa.c (tree_build_ssa): Ditto.
(insert_phi_terms): Ditto.
(delete_ssa): Call remove_tree_ann.
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.18&r2=1.1.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/basic-block.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.153.2.7&r2=1.153.2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-cfg.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.7&r2=1.1.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dfa.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.6&r2=1.1.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.6&r2=1.1.4.7
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.10&r2=1.1.4.11
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.8&r2=1.1.4.9
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.6&r2=1.1.2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.10&r2=1.1.4.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.8&r2=1.1.4.9