On Tue, Mar 20, 2012 at 8:54 PM, Georg-Johann Lay <a...@gjlay.de> wrote:
> Dropping the first patch which does not work because at expand-time there
> must not be pre-/post-modify addressing :-(
Have you tried to fix that, instead? Or at least ask around a bit to
see what people would think about that idea? The reasons why things
are the way they are, may not be applicable anymore.
For example, perhaps the only reason for not having pre-/post-modify
addressing modes earlier is that the old "flow" dataflow frame work
didn't handle them. And it doesn't seem to be so black-and-white: The
very pass you ran into problems with first, cprop, does handle
pre-/post-modify addresses in local cprop. Some other passes simply
take the conservative path and drop pre-/post-modify (like CSE, which
doesn't record values from them). It may be a relatively small job to
make everything accept them, and you may be something that's also
helpful for other targets.