This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Disable CSE skip-blocks
On 10/29/06, Richard Kenner <firstname.lastname@example.org> wrote:
> Removing skip-blocks makes it *much* easier to re-implement GCC's CSE
> pass to work on extended basic blocks in linear time.
Sure, but you could do a lot better if you got rid of both of them. Then
you'd store global equivalent information at the start of each basic
block (here using the current cfg definition) and CSE would do all its
work locally starting with that data for each basic block. And it would
be able to do one block at a time.
This would produce *better* code than today, rather than missing some cases.
That is true, and I would, again, encourage people to work on that.
But it is a rewrite of CSE, which is not my aim.
My aim is to make the trade-off between a significant simplification
of the compiler vs. a tiny number of missed code transformations
(note: not optimizations, because some of the "missed optimizations"
that I observed were actually helpful later on).
I understand your point, but can we *please* just talk about the patch
I'm proposing, and not some hypothetical new CSE pass that everyone
wants and nobody is going to write?