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

Ryan Taylor via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 24 12:54:53 PDT 2017


Right but then you'll have to call each opt level. Have u looked in the
pass manager?

On Jun 24, 2017 3:52 PM, "Sean Silva via llvm-dev" <llvm-dev at lists.llvm.org>
wrote:

> The most definitive list you can probably hope to get will be obtained by
> passing -mllvm -debug-pass=Structure to a clang invocation.
>
> -- Sean Silva
>
> On Jun 24, 2017 7: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
>
>
>
> _______________________________________________
> 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/3e7fe689/attachment.html>


More information about the llvm-dev mailing list