[llvm-dev] LLVMTargetMachine with optimization level passed from clang.

Ryan Taylor via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 4 16:05:16 PST 2017


If I understand you correctly, you should look at putting your pass in the
pass manager at the opt level u want.

Ryan

On Jan 4, 2017 7:03 PM, "Sumanth Gundapaneni via llvm-dev" <
llvm-dev at lists.llvm.org> wrote:

> I see the BackendUtil.cpp of Clang creates the TargetMachine with the
> optimization level based on below mentioned logic
>
>
>
>   CodeGenOpt::Level OptLevel = CodeGenOpt::Default;
>
>   switch (CodeGenOpts.OptimizationLevel) {
>
>   default: break;
>
>   case 0: OptLevel = CodeGenOpt::None; break;
>
>   case 3: OptLevel = CodeGenOpt::Aggressive; break;
>
>   }
>
>
>
> As per my understanding, the correspondence between optimization level and
> CodeGenOpt is as below
>
> O0  -  none
>
> O1  -  less
>
> O2 -   default
>
> O3  -  aggressive
>
>
>
> My goal is to turn on a target dependent codegen optimization at
> –O1(less). The TargetMachine is constructed with “CodeGenOpt::Default”. Is
> there a way I could do this in LLVM ? What is the standard way of doing
> this ? Also, the code in BackendUtil.cpp seem somewhat offbeat to me.
>
>
>
> --Sumanth G
>
>
>
> _______________________________________________
> 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/20170104/6ebb4073/attachment.html>


More information about the llvm-dev mailing list