This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.tree-ssa c-common.c c-semant ...
- From: rth at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 30 Oct 2003 02:49:41 -0000
- Subject: gcc/gcc ChangeLog.tree-ssa c-common.c c-semant ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: rth@gcc.gnu.org 2003-10-30 02:49:41
Modified files:
gcc : ChangeLog.tree-ssa c-common.c c-semantics.c
c-simplify.c expr.c gimple-low.c gimplify.c
stmt.c tree-cfg.c tree-eh.c tree-inline.c
tree-pretty-print.c tree-ssa-dom.c tree.def
tree.h
Log message:
* c-common.c (c_warn_unused_result): Remove lowered containers.
* c-semantics.c (genrtl_case_label): Update add_case_node call.
* c-simplify.c (gimplify_switch_stmt): Build SWITCH_EXPR and
gimplify it simultaneously with the body.
* expr.c (expand_expr_1): Handle SWITCH_BODY clear and
SWITCH_LABELS set. Update add_case_node calls.
* gimple-low.c (lower_stmt): Don't do anything for SWITCH_EXPR.
(lower_switch_expr, lower_case_label_expr): Remove.
* gimplify.c (gimplify_switch_expr): Zap SWITCH_BODY after
gimplification. Force default entry for SWITCH_LABELS.
(gimplify_case_label_expr): Rename from gimple_add_case_label.
Assert switch in scope; lower to LABEL_EXPR.
* stmt.c (pushcase, pushcase_range) Update add_case_node calls.
(add_case_node): Add dont_expand_label argument.
(same_case_target_p): Don't search rtl.
* tree-cfg.c (enum find_location_action): Remove.
(make_switch_expr_blocks): Remove.
(make_blocks): Update.
(make_case_label_edges): Remove.
(make_edges): Update.
(find_contained_blocks): Remove lowered containers.
(make_switch_expr_edges): New.
(make_ctrl_stmt_edges): Call it.
(make_cond_expr_edges): Use label_to_block.
(remove_useless_stmts_and_vars_1): Don't go into SWITCH_BODY.
(remove_unreachable_block): Remove SWITCH_EXPR special case.
(cleanup_cond_expr_graph): Tidy.
(cleanup_switch_expr_graph): Rewrite.
(disconnect_unreachable_case_labels): Remove.
(find_taken_edge_cond_expr): Use integer_zerop/integer_nonzerop.
(find_taken_edge_switch_expr): Rewrite.
(value_matches_some_label): Remove.
(find_case_label_for_value): New.
(is_ctrl_structure): Remove lowered containers.
(is_ctrl_stmt): Add SWITCH_EXPR.
(switch_parent): Remove.
(handle_switch_fallthru): Remove.
(handle_switch_split): Remove.
(find_insert_location): Merge into ...
(bsi_insert_on_edge_immediate): ... here. Simplify.
(tree_split_edge): Don't set EDGE_FALLTHRU.
* tree-eh.c (collect_finally_tree): Remove lowered containers.
(replace_goto_queue_1, block_may_fallthru_last): Likewise.
(lower_eh_constructs_1): Likewise.
(verify_norecord_switch_expr): New.
(lower_try_finally_switch): Generate lowered switches.
* tree-inline.c (expand_calls_inline): Don't search null SWITCH_BODY.
* tree-pretty-print.c (dump_generic_node): Do something sensible
with lowered switch_expr.
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Update
for lowered switch_expr.
* tree.def (SWITCH_EXPR): Update docs.
* tree.h (add_case_node): Update decl.
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.792&r2=1.1.2.793
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.45&r2=1.344.2.46
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-semantics.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.43.2.24&r2=1.43.2.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-simplify.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.76&r2=1.1.4.77
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.59&r2=1.467.2.60
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimple-low.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.2&r2=1.1.4.3
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.103&r2=1.1.2.104
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stmt.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.267.2.37&r2=1.267.2.38
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.185&r2=1.1.4.186
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-eh.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.9&r2=1.1.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.26.2.56&r2=1.26.2.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-pretty-print.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.51&r2=1.1.2.52
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-dom.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.67&r2=1.1.2.68
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.def.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.52.2.17&r2=1.52.2.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.342.2.118&r2=1.342.2.119