[cfe-dev] ARM CPU CLI options and examples (was: Option -mtune)

Sjoerd Meijer via cfe-dev cfe-dev at lists.llvm.org
Tue Apr 21 09:54:44 PDT 2020

I think documenting recent M and A cores would be an excellent start. An exhaustive list, also each core combination, is not very doable I think simply because of the many combinations. At least, not when generating the doc is a manual job. But even if we could auto-generate the exhaustive list, I don't know yet how useful that is if we only expect an handful of implementations per core. Too much info maybe? A curated list could be better? Again, I think the M55 is a good example. Saying this from memory I thought there were 20+ architecture combinations, but we expect these 5 to be possibly implemented...

Looking forward to the option work. So I am guessing at this point this doc work could coexist with that, and in the mean time it can help users and also us when we add new cores.


From: David Spickett <david.spickett at linaro.org>
Sent: 21 April 2020 17:34
To: Sjoerd Meijer <Sjoerd.Meijer at arm.com>
Cc: David Blaikie <dblaikie at gmail.com>; cfe-dev at lists.llvm.org Developers <cfe-dev at lists.llvm.org>; Peter Smith <Peter.Smith at arm.com>; Kristof Beyls <Kristof.Beyls at arm.com>
Subject: Re: [cfe-dev] ARM CPU CLI options and examples (was: Option -mtune)

Is the intention to have an exhaustive list, or target common use cases?

I intend to restart work on (http://lists.llvm.org/pipermail/llvm-dev/2018-September/126346.html) which proposed teaching Clang more about the options so it could list and validate them itself. So there's scope to eventually generate a page that has all the combinations.
(it's a long way off of being done though so don't take this as reason to stop documentation efforts, in fact examples would be useful for me too)

On Tue, 21 Apr 2020 at 17:12, Sjoerd Meijer via cfe-dev <cfe-dev at lists.llvm.org<mailto:cfe-dev at lists.llvm.org>> wrote:
Following up on the -mtune discussion yesterday, I have prepared a draft patch (https://reviews.llvm.org/D78565) that shows how to target different ARM CPU implementations and architecture combinations, for now only 2 M-profile cores.

In the -mtune thread, I mentioned that setting options is non-trivial and I think the Cortex-M55 as documented with examples in D78565 is a good example of that. I.e., it only shows 5 architecture combinations and their corresponding CLI options. Many more architecture combinations are possible, but these 5 combinations are the most likely to be implemented. In the V8-A architecture space, the challenge of many architecture combinations is similar.

My thinking was that it would be valuable to have a listing of architecture combinations and options, so that users can quickly look up an architecture configuration and find its flags to target it. These examples shows usage of this tool (i.e. open-source clang), add puts documentation/examples in the same place as the source, and allows easier edit/reviews and also from non-Arm people. On D78565, Peter raised the question whether this is suited for the Clang Documentation, or if we should move this to some place at arm.com<http://arm.com>.

So my question is if there are any ideas/preferences/objections for this?


cfe-dev mailing list
cfe-dev at lists.llvm.org<mailto:cfe-dev at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200421/763f4590/attachment-0001.html>

More information about the cfe-dev mailing list