[PATCH] unconditionally compile most of the delay slot code
Steve Ellcey
sellcey@imgtec.com
Thu Oct 22 17:38:00 GMT 2015
On Wed, 2015-10-21 at 11:13 -0400, tbsaunde+gcc@tbsaunde.org wrote:
> From: Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
>
> Hi,
>
> $subject
>
> bootstrapped+ regtested x86_64-linux-gnu, I wouldn't mind a second pair of eyes
> on this one given its not totally trivial.
>
> Trev
>
> gcc/ChangeLog:
>
> 2015-10-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
>
> * cfgrtl.c (pass_free_cfg::execute): Adjust.
> * final.c (dbr_sequence_length): Always define.
> (shorten_branches): Adjust.
> * genattr-common.c (main): Always define DELAY_SLOTS.
> * genattr.c (main): Unconditionally declare functions and define
> macros related to delay slots.
> * genattrtab.c (write_eligible_delay): Adjust.
> (main): Always write out delay slot functions.
> * opts.c (default_options_table): Adjust.
> * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
> (redirect_with_delay_list_safe_p): Likewise.
> (fill_simple_delay_slots): Likewise.
> (fill_slots_from_thread): Likewise.
> (make_return_insns): Likewise.
> (dbr_schedule): Likewise.
> (rest_of_handle_delay_slots): Likewise.
> (pass_delay_slots::gate): Likewise.
> * toplev.c (process_options): Likewise.
Trevor,
I am not sure if anyone else is having issues with this patch but it has
broken my MIPS build. When building a cross compiler on x86 linux I
get:
build/genattrtab /scratch/sellcey/repos/build-bug/src/gcc/gcc/common.md /scratch/sellcey/repos/build-bug/src/gcc/gcc/config/mips/mips.md insn-conditions.md \
-Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c
genattrtab: Internal error: abort in write_eligible_delay, at
genattrtab.c:4524
make[1]: *** [s-attrtab] Error 1
make[1]: Leaving directory
`/scratch/sellcey/repos/build-bug/obj-mips-mti-linux-gnu/initial_gcc/gcc'
make: *** [all-gcc] Error 2
Error: Make command failed, stopping build.
Any thoughts on what I should look at?
Steve Ellcey
sellcey@imgtec.com
More information about the Gcc-patches
mailing list