<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; "><br><div><div>On Jul 23, 2013, at 3:59 PM, Jim Grosbach <<a href="mailto:grosbach@apple.com">grosbach@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jul 23, 2013, at 3:40 PM, Renato Golin <<a href="mailto:renato.golin@linaro.org">renato.golin@linaro.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 12px; 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 dir="ltr">On 23 July 2013 19:36, Jim Grosbach<span class="Apple-converted-space"> </span><span dir="ltr"><<a href="mailto:grosbach@apple.com" target="_blank">grosbach@apple.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br><div class="gmail_extra"><div class="gmail_quote"><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 style="word-wrap: break-word;">This isn’t just a nitpick. This is exactly why you’re seeing differences. The pass managers aren’t always set up the same, for example.<br><div><div><br></div><div>FWIW, I feel your pain. This is a long-standing weakness of our infrastructure.</div></div></div></blockquote><div></div></div><br></div><div class="gmail_extra">Jim,</div><div class="gmail_extra"><br></div><div class="gmail_extra">A while ago I proposed that we annotated the options the front-end passed to the back-end on the IR with named metadata, but it didn't catch on. </div><div class="gmail_extra"><br></div><div class="gmail_extra">Would it make sense to have some call-back mechanism while setting back-end flags to keep a tab on what's called and have a dump as metadata, so that you can just write it to the IR file at the end? More or less what we have for functions, currently.</div><div class="gmail_extra"><br></div><div class="gmail_extra">This would hint llc, lli and others to what flags it must set itself (architecture, optimizations, etc) and would minimize the impact of split compilation. Those tools are free to ignore any option it doesn't recognize, of course, as with any metadata.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Another way would be to teach llc, lli and others all command line options of all supported front-ends, but that wouldn't be very productive, I think.</div></div></div></blockquote><br></div>Maybe? I’m not sure what a good answer is here. Bob and Bill have both looked at this in more detail than I. What do you guys think?</div></blockquote><br></div><div>The plan is that all (or at least almost all) of those options will move to be function attributes. The backend will be changed to use those attributes instead of command line options. That should solve this problem.</div></body></html>