<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 20, 2020 at 1:05 AM Sjoerd Meijer <<a href="mailto:Sjoerd.Meijer@arm.com">Sjoerd.Meijer@arm.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I understand the possible benefits of -mtune, but I just don't see how we benefit from a half baked implementation, or a no-op, and leaving the no-op in hoping that one day it will be implemented properly.<br></div></div></blockquote><div> </div><div>"I don't see how we benefit from <what's there today>" - I think we've already covered the practical benefit of command line compatibility. That's a fairly real/practical benefit & something that Clang does for lots of options, not only this one.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><span style="font-size:12pt">I also understand that removing the option could break some builds, but hey, compiler options and defaults change sometimes. </span></div></div></blockquote><div><br>Pretty rarely are flags outright removed or semantics changed in ways that would break builds, so far as I know.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><span style="font-size:12pt">In my opinion the cost of migrating would be worth the benefits. But I understand the different angles here, and hey, at least I've
 tried now... </span><span id="gmail-m_375880992008535428🙂" style="font-size:12pt">:-)</span><br></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
This is addressing the hard problem of setting optimal compiler options with -target, -march, -mcpu, and -mtune.  In this equation -mtune is just a minor annoyance, but if we could get rid of this part of the confusion then that would be a good change to me
 and avoid the regular question we get what the -mtune options should be.</div></div></blockquote><div><br>It'd be interesting to understand the path your users go through that leads to confusion - what documentation (command line --help, websites (ones maintained/owned by your company, or Clang's open source/general website, etc), etc) & perhaps where more clarity could be provided there.</div><div><br></div><div>- Daved<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Cheers.<br>
</div>
<div id="gmail-m_375880992008535428appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_375880992008535428divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Peter Smith <<a href="mailto:Peter.Smith@arm.com" target="_blank">Peter.Smith@arm.com</a>><br>
<b>Sent:</b> 20 April 2020 08:33<br>
<b>To:</b> David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>>; Sjoerd Meijer <<a href="mailto:Sjoerd.Meijer@arm.com" target="_blank">Sjoerd.Meijer@arm.com</a>><br>
<b>Cc:</b> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> Developers <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
<b>Subject:</b> Re: [cfe-dev] Option -mtune</font>
<div> </div>
</div>
<div><font face="Times New Roman" size="3"><span style="font-size:12pt"><a name="m_375880992008535428_BM_BEGIN"></a>
<div><font size="2"><span style="font-size:11pt">I don't think that we could remove -mtune without breaking some builds that support both GCC and Clang with the same script, as -mtune is supported in GCC. As David points out -mtune isn't needed for correctness
 so ignoring it for at least these types of project seems to be reasonable. An opt-in warning for accepted but ignored options could be an option though.<br>
<br>
IIRC We did use to have some support for mtune in AArch64, unfortunately we had to take it out (mea culpa
<a href="https://reviews.llvm.org/D39179" target="_blank">https://reviews.llvm.org/D39179</a>) as it wasn't just affecting micro-architectural features it was including architecture features as well. I think that there is some scope for putting back support for mtune, it would
 need us to more cleanly separate out the micro-architectural features. The most recent post about this was
<a href="http://lists.llvm.org/pipermail/llvm-dev/2017-October/118520.html" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2017-October/118520.html</a><br>
<br>
Peter<br>
<br>
________________________________________<br>
From: cfe-dev <<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>> on behalf of Sjoerd Meijer via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
Sent: 19 April 2020 22:01<br>
To: David Blaikie<br>
Cc: <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> Developers<br>
Subject: Re: [cfe-dev] Option -mtune<br>
<br>
Thanks for your reply, and I can see that this is the only benefit of this no-op: if your move to Clang and if you still have -mtune set in your build environment, you don't get an "unknown option" error. But for me personally, silently ignoring things and
 giving the impression it works is worse than a simple Makefile fix, but maybe I am wrong, which is why I checked here on the list. I was guessing that a diagnostic in this case would only be value if it's enabled by default as I'm afraid many users won't enable
 it? And if you need to add a flag to get this diagnostic, you might as well get rid of -mtune?<br>
<br>
Cheers.<br>
<br>
________________________________<br>
From: David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>
Sent: 19 April 2020 20:58<br>
To: Sjoerd Meijer <<a href="mailto:Sjoerd.Meijer@arm.com" target="_blank">Sjoerd.Meijer@arm.com</a>><br>
Cc: <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> Developers <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
Subject: Re: [cfe-dev] Option -mtune<br>
<br>
On Sun, Apr 19, 2020 at 12:55 PM Sjoerd Meijer via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> wrote:<br>
Hello,<br>
<br>
Quick question what you think we should be doing with option -mtune. Problem is that it looks like we support it because it is documented, it can be supplied on the command line, but it is silently ignored:<br>
<br>
  // FIXME: Handle -mtune=.<br>
  (void)Args.hasArg(options::OPT_mtune_EQ);<br>
<br>
giving the false impression to users it is doing something is probably the worst of options we have<br>
<br>
Not /the worst/ as such, many options are added to Clang so it's command line compatible (in the sense that you'll get a running program that behaves correctly) with GCC - I imagine the commit history of this feature probably justifies the addition with that
 sort of reason.<br>
<br>
Seems quite reasonable for --help and web documentation to mention that it's a no-op/supported-for-compatibility flag.<br>
<br>
As for adding a warning for these sort of no-op flags, maybe? Probably opt-in, though.<br>
<br>
(we get regularly questions about this).<br>
We could simply remove it, or if this is too radical, issue a diagnostic that this is an unsupported option? Any thoughts/preferences?<br>
<br>
Cheers,<br>
Sjoerd.<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</span></font></div>
</span></font></div>
</div>

</blockquote></div></div>