This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR middle-end/38857: ICE in selective scheduler
- From: Ian Lance Taylor <iant at google dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Cc: Vladimir Makarov <vmakarov at redhat dot com>, Andrey Belevantsev <abel at ispras dot ru>
- Date: Wed, 28 Jan 2009 08:43:49 -0800
- Subject: Re: [PATCH] PR middle-end/38857: ICE in selective scheduler
- References: <20090125231755.GG3780@endeed2.ispras.ru>
Alexander Monakov <amonakov@ispras.ru> writes:
> 2009-01-25 Andrey Belevantsev <abel@ispras.ru>
>
> PR middle-end/38857
> * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
> register.
> (move_exprs_to_boundary): Change return type and pass through
> should_move from move_op. Relax assert. Update usage ...
> (schedule_expr_on_boundary): ... here. Use should_move instead of
> cant_move.
> (move_op_orig_expr_found): Indicate that insn was disconnected from
> stream.
> (code_motion_process_successors): Do not call after_merge_succs
> callback if original expression was not found when traversing any of
> the branches.
> (code_motion_path_driver): Change return type. Update prototype.
> (move_op): Update comment. Add a new parameter (should_move). Update
> prototype. Set *should_move based on indication provided by
> move_op_orig_expr_found.
>
> gcc/testsute/ChangeLog:
>
> 2009-01-25 Andrey Belevantsev <abel@ispras.ru>
> Steve Ellcey <sje@cup.hp.com>
>
> PR middle-end/38857
> * gcc.c-torture/compile/pr38857.c: New test.
> + Write true to *SHOULD_MOVE when we have only disconnected one of
> + insns found.
This looks as though *SHOULD_MOVE is only set in one case. It should
say something like "Set *SHOULD_MOVE to indicate whether we have only
disconnected one of the insns found."
This is OK with that change.
Thanks.
Ian