<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div>Thanks Rafael, Renato and others for the history and discussions . This regression felt a bit fishy from the beginning, and I agree with the “bug rather than feature” assessment.  <div><br></div><div><br></div><div>Gerolf</div><div><br><div><div>On Feb 18, 2014, at 4:38 PM, Sean Silva <<a href="mailto:silvas@purdue.edu">silvas@purdue.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr" style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="gmail_extra"><br class="Apple-interchange-newline"><br><br><div class="gmail_quote">On Tue, Feb 18, 2014 at 7:31 PM, Bob Wilson<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:bob.wilson@apple.com" target="_blank">bob.wilson@apple.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;">The APCS stack alignment is only 32 bits. At the time I made that change, we were not able to dynamically realign stack frames for ARM, so it didn’t make sense to have a preferred aggregate alignment larger than 32 bits. Even now, given the cost of dynamic realignment, I don’t think changing that would be a good idea.<br><br>Besides, as I mentioned in the commit message, this change really came from Sandeep Patel, so I blame him for any problems with it ;-)<br></blockquote><div><br></div><div>For those out of the loop, check r163422:</div><div><br></div><div><div>sean:~/pg/llvm/llvm % git log -p --grep='unfortunate' CREDITS.TXT                                                                                                       </div><div>commit d2f43b017c4baccd40cb32e27f18d938ef2a47fe</div><div>Author: Sandeep Patel <<a href="mailto:deeppatel1987@gmail.com">deeppatel1987@gmail.com</a>></div><div>Date:   Fri Sep 7 21:20:20 2012 +0000</div><div><br></div><div>    Correct an unfortunately necessary typo.</div><div>    </div><div>    git-svn-id:<span class="Apple-converted-space"> </span><a href="https://llvm.org/svn/llvm-project/llvm/trunk@163422">https://llvm.org/svn/llvm-project/llvm/trunk@163422</a><span class="Apple-converted-space"> </span>91177308-0d34-0410-b5e6-96231b3b80d8</div><div><br></div><div>diff --git a/CREDITS.TXT b/CREDITS.TXT</div><div>index f090ad7..7a1bacd 100644</div><div>--- a/CREDITS.TXT</div><div>+++ b/CREDITS.TXT</div><div>@@ -328,10 +328,6 @@ D: LTO tool, PassManager rewrite, Loop Pass Manager, Loop Rotate</div><div> D: GCC PCH Integration (llvm-gcc), llvm-gcc improvements</div><div> D: Optimizer improvements, Loop Index Split</div><div> </div><div>-N: Sandeep Patel</div><div>-E:<span class="Apple-converted-space"> </span><a href="mailto:deeppatel1987@gmail.com">deeppatel1987@gmail.com</a></div><div>-D: ARM calling conventions rewrite, hard float support</div><div>-</div><div> N: Wesley Peck</div><div> E:<span class="Apple-converted-space"> </span><a href="mailto:peckw@wesleypeck.com">peckw@wesleypeck.com</a></div><div> W:<span class="Apple-converted-space"> </span><a href="http://wesleypeck.com/">http://wesleypeck.com/</a></div><div>@@ -354,6 +350,10 @@ N: Xerxes Ranby</div><div> E:<span class="Apple-converted-space"> </span><a href="mailto:xerxes@zafena.se">xerxes@zafena.se</a></div><div> D: Cmake dependency chain and various bug fixes</div><div> </div><div>+N: Alex Rosenberg</div><div>+E:<span class="Apple-converted-space"> </span><a href="mailto:alexr@leftfield.org">alexr@leftfield.org</a></div><div>+D: ARM calling conventions rewrite, hard float support</div><div>+</div><div> N: Chad Rosier</div><div> E:<span class="Apple-converted-space"> </span><a href="mailto:mcrosier@apple.com">mcrosier@apple.com</a></div><div> D: ARM fast-isel improvements</div></div><div><br></div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class=""><div class="h5"><br>On Feb 18, 2014, at 4:15 PM, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br><br>> On 18 February 2014 18:20, Renato Golin <<a href="mailto:renato.golin@linaro.org">renato.golin@linaro.org</a>> wrote:<br>>> Gerolf,<br>>><br>>> AFAIK, the old APCS never tried to define the alignment of complex<br>>> aggregates, or the stack.<br>>><br>>> What Rafael said is true, it's more of preference (or rather,<br>>> compatibility), than ABI conformance. But if it's generating<br>>> regressions, we should look into.<br>>><br>>> Being pragmatic, one has to look why that was set in Clang in the<br>>> first place. Making it the same on both places makes sense (and why<br>>> it's a good idea to have target descriptions external to both LLVM and<br>>> Clang, as proposed by Jim), but we need to make sure whoever added it<br>>> to Clang did it for a reason, and what reason was that.<br>><br>> Good point. I did a git blame and found that the clang datalayout was<br>> changed in r128825 by Bob Wilson, but it looks like he was just<br>> syncing from llvm-gcc.<br>><br>> There might have been a mistake in r128825. llvm-gcc would always just<br>> ask llvm for a datalayout and the ARM Target back then never specified<br>> an 'a' alignment for ARM:<br>><br>>    DataLayout(Subtarget.isAPCS_ABI() ?<br>>               std::string("e-p:32:32-f64:32:64-i64:32:64-"<br>>                           "v128:32:128-v64:32:64-n32") :<br>>               std::string("e-p:32:32-f64:64:64-i64:64:64-"<br>>                           "v128:64:128-v64:64:64-n32")),<br>><br>> Cheers,<br>> Rafael<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></div></div></blockquote></div><br></div></div><span style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">_______________________________________________</span><br style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">llvm-commits mailing list</span><br style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="mailto:llvm-commits@cs.uiuc.edu" style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">llvm-commits@cs.uiuc.edu</a><br style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" style="font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a></blockquote></div><br></div></body></html>