Hi, On Fri, Sep 21, 2012 at 12:48:16PM +0200, Eric Botcazou wrote: >
... > > As of doing it in SRA what I'd do there is special-case FRAME for both > > candidate consideration (so you get around the addressable issue) > > and replacement generation. > > OK, but you need to be able to split the FRAME structure without necessarily > splitting its aggregate fields. Is that (easily) doable with current SRA? > Well, the current code assumes that the replacements are gimple register types and, perhaps more importantly, it assumes there are no to-be-replaced pieces within to-be-replaced pieces. If we were to put a structure outside of a frame structure and scalarize some field within it at the same time... a lot of places would probably need to be slightly re-thought. OTOH, I assume the frame structure is never being assigned to or read as a whole so that would simplify a lot of things. > > Maybe you can open an enhancement bugreport for this and link > > your patch / testcase to it? > > Will do. Please CC me in the bug. I probably won't be able to try anything myself for a few weeks but I'm interested in helping. Thanks, Martin