[llvm-dev] Definitive list of optimisations at each optimisation level

Ryan Taylor via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 24 07:37:52 PDT 2017


Have u looked in the pass manager?

On Jun 24, 2017 10:10 AM, "Martin J. O'Riordan via llvm-dev" <
llvm-dev at lists.llvm.org> wrote:

> I am often asked what optimisations “our” compiler performs at each
> level.  But “our” compiler is actually CLang/LLVM which we have retargeted
> to our proprietary target.
>
>
>
> Most of the work we do is in maintaining our target specific backend.
> Certainly there are optimisations that we do to take best advantage of our
> instruction set during lowering and instruction selection, and we have also
> added a couple of additional passes which manipulate the IR in advance of
> lowering to better shape it for our target.
>
>
>
> But in practice the vast majority of optimisations are contributed by the
> continuously evolving and excellent LLVM target independent passes, and
> have little or nothing to do with the work we do in our backend - though it
> is obviously directed/tuned by the various target call-backs and the target
> cost models.
>
>
>
> Is there a “one stop shop” list of the optimisation passes that LLVM
> performs, and identification of which are enabled by default for each of
> the 4 standard optimisation levels ‘-O0’ thru ‘-O3’?
>
>
>
> The reason that I ask, is that I really don’t have an honest or informed
> answer that I can provide to people when they ask, and I haven’t found a
> definitive statement of this in the LLVM documentation that I could refer
> them to.
>
>
>
> Thanks,
>
>
>
>             MartinO
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170624/4dd89d52/attachment.html>


More information about the llvm-dev mailing list