[cfe-dev] Option -mtune

Peter Smith via cfe-dev cfe-dev at lists.llvm.org
Mon Apr 20 00:33:44 PDT 2020

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.

IIRC We did use to have some support for mtune in AArch64, unfortunately we had to take it out (mea culpa https://reviews.llvm.org/D39179) 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 http://lists.llvm.org/pipermail/llvm-dev/2017-October/118520.html


From: cfe-dev <cfe-dev-bounces at lists.llvm.org> on behalf of Sjoerd Meijer via cfe-dev <cfe-dev at lists.llvm.org>
Sent: 19 April 2020 22:01
To: David Blaikie
Cc: cfe-dev at lists.llvm.org Developers
Subject: Re: [cfe-dev] Option -mtune

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?


From: David Blaikie <dblaikie at gmail.com>
Sent: 19 April 2020 20:58
To: Sjoerd Meijer <Sjoerd.Meijer at arm.com>
Cc: cfe-dev at lists.llvm.org Developers <cfe-dev at lists.llvm.org>
Subject: Re: [cfe-dev] Option -mtune

On Sun, Apr 19, 2020 at 12:55 PM Sjoerd Meijer via cfe-dev <cfe-dev at lists.llvm.org<mailto:cfe-dev at lists.llvm.org>> wrote:

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:

  // FIXME: Handle -mtune=.

giving the false impression to users it is doing something is probably the worst of options we have

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.

Seems quite reasonable for --help and web documentation to mention that it's a no-op/supported-for-compatibility flag.

As for adding a warning for these sort of no-op flags, maybe? Probably opt-in, though.

(we get regularly questions about this).
We could simply remove it, or if this is too radical, issue a diagnostic that this is an unsupported option? Any thoughts/preferences?


cfe-dev mailing list
cfe-dev at lists.llvm.org<mailto:cfe-dev at lists.llvm.org>

More information about the cfe-dev mailing list