PATCH: Properly check the end of basic block
Steven Bosscher
stevenb.gcc@gmail.com
Thu Nov 18 23:09:00 GMT 2010
> 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 (?!)).
But I'm impressed that an ix86 bootstrap survives with this patch.
Have you verified that there are no changes in the generated code?
Ciao!
Steven
More information about the Gcc-patches
mailing list