This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] Bootstrap failure on i686-linux
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: Paul Brook <paul at nowt dot org>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Date: Mon, 01 Sep 2003 21:37:17 -0600
- Subject: Re: [tree-ssa] Bootstrap failure on i686-linux
- Reply-to: law at redhat dot com
In message <1062466928.6332.27.camel@frodo.toronto.redhat.com>, Diego Novillo w
rites:
>On Mon, 2003-09-01 at 19:38, Paul Brook wrote:
>> I've been getting bootstrap failures for tree-ssa branch since about friday
>
>> last week.
>>
>This one seems to have been caused by one of these changes:
>
>+2003-08-29 Richard Henderson <rth@redhat.com>
>+
>+ * function.c (allocate_struct_function): New, split out of ...
>+ (prepare_function_start, init_function_start): ... here.
It's this one.
>
>After undoing those patches I ran into another failure that was caused
>by:
>
>+2003-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
>+ Jeff Law <law@redhat.com>
>+
>+ * basic-block.h (BB_LOOP_CONTROL_EXPR): Remove.
>+ * c-simplify.c (gimplify_c_loop): Create loops in a better shape.
>+ * cfgloop.h (create_loop_notes): Declare.
>+ * cfgloopmanip.c (create_loop_notes): New.
>+ * explow.c (probe_stack_range): Don't produce loop notes when we
>+ recreate them.
>+ * expr.c (emit_block_move_via_loop): Ditto.
>+ * gimplify.c (build_and_jump): Export.
>+ (gimplify_loop_expr): Don't produce LOOP_EXPRs.
>+ * toplev.c (rest_of_compilation): Recreate loop notes if needed.
>+ * tree-cfg.c (make_loop_expr_edges, make_loop_expr_blocks): Removed.
>+ (find_contained_blocks, make_ctrl_stmt_edges,
>+ remove_useless_stmts_and_vars, stmt_ends_bb_p, bsi_insert_before,
>+ find_insert_location, bsi_insert_on_edge_immediate,
>+ merge_tree_blocks): Remove handling of LOOP_EXPRs.
>+ (remove_stmt): Remove handling of BB_LOOP_CONTROL_EXPR.
>+ (find_taken_edge): Remove comment on LOOP_EXPRs.
>+ (dump_tree_bb): Don't dump loop-related information.
>+ (is_loop_stmt, is_latch_block_for): Removed.
>+ (find_insert_location): Handle TRY_CATCH and TRY_FINALLY.
>+ * tree-flow.h (is_loop_stmt, loop_body, set_loop_body,
>+ is_latch_block_for): Removed.
>+ * tree-dfa.c (get_stmt_operands): Don't handle LOOP_EXPRs.
>+ * tree-simple.c (is_gimple_stmt): Remove handling of LOOP_EXPRs.
>+ * tree-simple.h: Remove LOOP_EXPRs from gimple grammar comment.
>+ (build_and_jump): Declare.
>+ * tree-ssa.c (remove_annotations_r): Don't handle LOOP_EXPRs.
Note that disabling PRE makes this go away. My tests were all done
before we turned on PRE by default.
Note that I'm not assigning blame to PRE, just noting why it wasn't
caught in my testing.
>I took a look and it seems that we are losing track of the statement
>chainining. If you look at the .t17.optimized output, you'll see that
>only a part of the function was renamed out of SSA.
>
>I also haven't seen the final version of the LOOP_EXPR lowering patch in
>gcc-patches. Zdenek, could you send me a pointer to it (or post it if
>it hasn't been posted)?
I sent it this morning, though apparently it hasn't been posted to the
mailing lists. Odd. I'll resend.
Jeff