Recent commit causes incorrect compilation of boehm gc.

Marcus Shawcroft marcus.shawcroft@arm.com
Mon Oct 11 13:28:00 GMT 2010


Hi,

The commit below introduces a miss compilation of boehm gc for ARM target
which I have raised in bugzilla
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45966

The issue appears to be that the combiner deletes an instruction, but has
not correctly replaced a use of the instructions output.

Thanks
/Marcus

2010-08-19  Bernd Schmidt  <bernds@codesourcery.com>

        PR target/42172
        * combine.c (combine_validate_cost): New arg I0.  All callers
changed.
        Take its cost into account if nonnull.
        (insn_a_feeds_b): New static function.
        (combine_instructions): Look for four-insn combinations.
        (can_combine_p): New args PRED2, SUCC2.  All callers changed.  Take
        them into account when computing all_adjacent and looking for other
        uses.
        (combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC.  All callers
        changed.  Treat them like I1DEST and I1_NOT_IN_SRC.
        (try_combine): New arg I0.  Handle four-insn combinations.
        (distribute_notes): New arg ELIM_I0.  All callers changed.  Treat it
        like ELIM_I1.


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45966




More information about the Gcc-patches mailing list