> Well, I can live with this change (though I cannot approve anything). > On the other hand, the real underlying problem is that expander cannot > handle unaligned MEM_REFs where strict alignment is required. SRA is > of course much more prone to create such situations than anything else > but I wonder whether they can creep up elsewhere too. It also takes > us in the opposite direction than the one initially intended with > MEM_REFs, doesn't it?
Certainly, but we need to fix the regression in a relatively safe manner. > That said, I looked into the expander briefly in summer but given my > level of experience in that area I did not nearly have enough time. I > still plan to look into this issue in expander but for the same > reasons I cannot guarantee any quick success. So I acknowledge this is > the only working approach to a long-standing difficult bug... and most > probably the most appropriate for the 4.6 branch. Thanks. This is still the same very old issue: misalignment cannot be handled indirectly (because we don't really have misaligned pointers) so MEM_REFs can be used safely only when everything is properly aligned. > However, since we have them, shouldn't we use stack-based vectors to > handle the stack of COMPONENT_REFs? Indeed, it will make the change before installing. -- Eric Botcazou