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. Ciao! Steven