This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Properly check the end of basic block
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, gcc-patches at gcc dot gnu dot org, Jan Hubicka <hubicka at ucw dot cz>, Richard Henderson <rth at redhat dot com>
- Date: Tue, 23 Nov 2010 10:11:09 +0000
- Subject: Re: PATCH: Properly check the end of basic block
- References: <AANLkTinHzOEf9RtEm59Qg+ky5_ov5-41TTEba1cWVJw7@mail.gmail.com>
Steven Bosscher <stevenb.gcc@gmail.com> writes:
>> Index: passes.c
>> ===================================================================
>> --- passes.c (revision 166920)
>> +++ passes.c (working copy)
>> @@ -1051,8 +1051,8 @@ init_optimization_passes (void)
>> NEXT_PASS (pass_compute_alignments);
>> NEXT_PASS (pass_duplicate_computed_gotos);
>> NEXT_PASS (pass_variable_tracking);
>> - NEXT_PASS (pass_free_cfg);
>> NEXT_PASS (pass_machine_reorg);
>> + NEXT_PASS (pass_free_cfg);
>> NEXT_PASS (pass_cleanup_barriers);
>> NEXT_PASS (pass_delay_slots);
>> NEXT_PASS (pass_split_for_shorten_branches);
>
> This breaks at least all targets that run delay slot scheduling during
> machine-reorg (MIPS), targets that layout constant pools (SH,ARM),
> targets that recompute the CFG in their machine-reorg (blackfin, ia64,
> MIPS (?!)).
Just out of curiosity, why the (?!) ? We need dataflow info when
working around an r10k speculative execution errata and when relaxing
PIC calls. We free it again before doing DBR, like you say.
Richard