[llvm-dev] Whither/whether -mtune support?

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 20 15:16:38 PDT 2017

Hi All,

I've gotten a few notes over the last few months and also given some of the
recent changes to various backends to "update" the default tunings for a
generic processor it made me think again about adding support for tuning to
a processor rather than generating processor specific code - hence, mtune.
I hope this is rather uncontroversial, but happy to discuss at length if
anyone thinks we shouldn't add this functionality to the compiler.

That said, I have a bit of a strawman outline for what I think needs to
happen in general, and while I don't have any concrete plans to attack this
soon I thought I'd post it in case someone else was interested:

a) split out (in targets where we care) code generation features from
tuning features on a per subtarget basis into a separate set of features
b) add support for initializing them based on a tune parameter to the
c) add support to clang for generating the tune parameter on a per function
d) Use them in TTI and various other backend hooks rather than any code gen
specific ones.

Simple right? :) I'm happy to elaborate here, but I believe the work is
relatively straight forward if a lot of typing.

Every step there is likely to be a lot more complicated, but similar to the
getSubtarget<>/getSubtargetImpl changes it should be very easy to do on any
particular backend and fan out support there. Just make sure that clang
knows which targets do and don't support the flag.

Happy to help or review work here.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171020/30197eff/attachment.html>

More information about the llvm-dev mailing list