This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New regressions as of 2003-11-04
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, Daniel Berlin <dberlin at dberlin dot org>, Jan Hubicka <jh at suse dot cz>, Jeff Law <law at redhat dot com>
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 04 Nov 2003 09:44:07 -0500
- Subject: Re: [tree-ssa] New regressions as of 2003-11-04
- Organization: Red Hat Canada
- References: <1067956749.23315.3.camel@frodo.toronto.redhat.com>
On Tue, 2003-11-04 at 09:39, Diego Novillo wrote:
> Lots of changes yesterday produced new regressions in C, C++, Fortran
> and mudflap. I think I know what the mudflap problem is, so I'll take
> care of that. Could you folks take a look at the new regressions and
> see if they're related to your changes?
>
>
> Thanks. Diego.
>
Drat. I forgot to attach the ChangeLogs:
--- gcc.prev/gcc/ChangeLog.tree-ssa 2003-11-02 04:59:54.000000000 -0500
+++ gcc/gcc/ChangeLog.tree-ssa 2003-11-03 19:29:37.000000000 -0500
@@ -1,3 +1,103 @@
+2003-11-03 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-pre (handle_bb_creation): Removed.
+ (redo_dominators): Removed.
+ (insert_one_operand): Remove code to handle bb creation, since all
+ critical edges are now pre-split.
+ (finalize_2): Remove redo_dominators related code.
+ (pre_expression): Return 1 if we exited early because nothing happened.
+ (split_critical_edges): Do fake variable assignments instead, because
+ it works. return true if we actually split an edge.
+ (tree_perform_ssapre): Remove redo_dominators code.
+
+2003-11-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * function.h (struct function): New field unexpanded_var_list.
+ * gimple-low.c (unexpanded_var_list): Removed.
+ (record_vars, expand_used_vars): Use cfun->unexpanded_var_list.
+ * tree-flow.h (unexpanded_var_list): Declaration removed.
+
+ * gimplify.c (should_carry_locus_p): New.
+ (annotate_all_with_locus_1): Use it. Do not annotate empty
+ statements.
+
+2003-11-03 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfg.c (tree_try_redirect_by_replacing_jump): Do not use
+ succesor_block.
+
+2003-11-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * tree-pretty-print.c (dump_block_info): Add flags parameter.
+ Only show line number when asked to.
+ (dump_generic_node): Pass flags to dump_block_info.
+
+2003-11-03 Jan Hubicka <jh@suse.cz>
+
+ * cfghooks.h (redirect_edge_and_branch hook): Make it return edge.
+ * cfgrtl.c (cfg_layout_redirect_edge_and_branch,
+ rtl_redirect_edge_and_branch, try_redirect_by_replacing_jump):
+ Update to new interface.
+ * tree-cfg.c (tree_cfg_hooks): Move to end of file; set
+ redirect_edge_and_branch and redirect_edge_and_branch_force.
+ (thread_jumps): Use redirect_edge_and_branch.
+ (tree_block_label): new; break out of thread_edge.
+ (tree_try_redirect_by_replacing_jump): New.
+ (thread_edge): Rename to tree_redirect_edge_and_branch; deal sanely
+ with unusual edges; preserve profile.
+ (tree_redirect_edge_and_branch_force): New.
+ * tree-flow.h (ssa_redirect_edge): Declare.
+ * tree-ssa.dom.c (tree_ssa_dominator_optimize): Use redirect_edge_and_branch.
+ * tree-ssa.c (ssa_redirect_edge): New.
+
+2003-11-03 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (dom_opt_finalize_block): Try to thread across the
+ edges leaving COND_EXPR nodes which are leafs in the dominator
+ tree.
+ (record_equivalences_from_incoming_edge): Do not set EQ_EXPR_VALUE
+ unless the block's single predecessor contains parent_block_last_stmt.
+
+2003-11-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * tree-dump.c (dump_options): Add TDF_LINENO.
+ * tree-pretty-print.c (dump_generic_node): Print line number for
+ statements if asked to.
+ * tree.h (TDF_LINENO): New.
+ * doc/invoke.texi (lineno): Document.
+
+2003-11-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * expr.c (expand_vars, expand_var): Split of ...
+ (expand_expr_1): ... here.
+ * expr.h (expand_var): Declare.
+ * gimple-low.c (lower_function_body, lower_stmt, lower_bind_expr):
+ Eliminate BIND_EXPRs.
+ (expand_used_vars): New.
+ * tree-alias-common.c (create_alias_vars): Walk variables in blocks.
+ * tree-cfg.c (make_bind_expr_blocks): Removed.
+ (make_blocks, build_tree_cfg, factor_computed_gotos): Don't handle
+ BIND_EXPRs.
+ (assign_vars_to_scope, successor_block, NEXT_BLOCK_LINK): Removed.
+ (make_edges, make_exit_edges): Don't use successor_block.
+ (remove_useless_stmts_and_vars_goto): Don't expect NEXT_BLOCK_LINK
+ to be set.
+ (bsi_init, bsi_next_in_bb, bsi_from_tsi): Don't handle BIND_EXPRs.
+ (replace_stmt): Don't create BIND_EXPRs.
+ * tree-flow.h (struct var_ann_d): Removed field scope.
+ (struct stmt_ann_d): Removed fields scope and scope_level.
+ (propagate_copy): Declaration changed.
+ (fixup_var_scope): Removed.
+ * tree-must-alias.c (tree_compute_must_alias): Consider DECL_NONLOCAL
+ vars call clobbered.
+ * tree-optimize.c (tree_rest_of_compilation): Call expand_used_vars.
+ * tree-ssa-copyprop.c (move_var_to_scope, fixup_var_scope): Removed.
+ (copyprop_stmt): Call to propagate_copy changed.
+ (propagate_copy): Don't update scope.
+ * tree-ssa-dom.c (cprop_into_stmt): Call to propagate_copy changed.
+ (eliminate_redundant_computations): Don't call fixup_var_scope.
+ * tree-ssa.c (insert_copy_on_edge): Don't update scope.
+