[llvm-dev] LLVMTargetMachine with optimization level passed from clang.
via llvm-dev
llvm-dev at lists.llvm.org
Thu Jan 5 08:08:08 PST 2017
Yes, it is a target independent back-end pass.
On 2017-01-04 18:12, Ryan Taylor wrote:
> My mistake, u want a code gen opt, not IR, so a backend pass?
>
> On Jan 4, 2017 7:05 PM, "Ryan Taylor" <ryta1203 at gmail.com> wrote:
>
>> 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 [1]
>
>
> Links:
> ------
> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the llvm-dev
mailing list