On Wed, 27 Nov 2013 12:47:19, Richard Biener wrote: > > On Wed, Nov 27, 2013 at 10:43 AM, Eric Botcazou <ebotca...@adacore.com> wrote: >>> I think you are right, this flag is no longer necessary, and removing >>> this code path would simplify everything. Therefore I'd like to propose >>> to remove the "keep_aligning" parameter of get_inner_reference as >>> a split-out patch. >>> >>> Boot-strapped (with languages=all,ada,go) and >>> regression-tested on x86_64-linux-gnu. >> >> I don't understand how you can commit a patch that changes something only on >> strict-alignment platforms and test it only on x86-64. This change *must* be >> tested with Ada on a strict-alignment platform, that's the only combination >> for which it is exercised. If you cannot do that, then please back it out. >> >> More generally speaking, it's not acceptable to make cleanup changes like >> that >> in the RTL expander without extreme care, which of course starts with proper >> testing. The patch should not have been approved either for that reason. > > I'm fine with reverting it for now (you were in CC of the patch submission > but silent on it, I asked for the patch to start simplifying the way > mems are expanded - ultimately to avoid the recursion and mem-attribute > compute by the recursion). >
Ok, then I'll revert this patch in the evening. Bernd. > We can come back during stage1. > > get_object_alignment should be able to properly handle this case > if you call it on the full reference in the normal_inner_ref: case. > All the weird duplicate code on the VIEW_CONVERT_EXPR case > should IMHO go. > > Richard. > >> -- >> Eric Botcazou