Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] CodeGenOpt"
2011 Feb 24
0
[LLVMdev] CodeGenOpt
On Feb 23, 2011, at 1:49 PM, David Greene wrote:
> The existing CodeGenOpt is not flexible enough for our needs. Our
> customers want to be able to control the optimization level at a fine
> grain, so we provide them separate dials for general optimization, fp
> optimization and memory hierarchy optimization.
>
> I would like to replace the existing CodeGenOpt::Level enum with
2011 Feb 24
2
[LLVMdev] CodeGenOpt
Chris Lattner <clattner at apple.com> writes:
>> class CodeGenOpt {
>> ...
>> public
>> getOptLevel() ...;
>> getFPLevel() ...;
>> getMemLevel() ...;
>> };
>>
>> Does this sound reasonable?
>
> I don't think that this is the right way to go. Higher level
> decisions like that should affect your choice of passes to
2011 Feb 24
0
[LLVMdev] CodeGenOpt
On Feb 24, 2011, at 8:14 AM, David A. Greene wrote:
> Chris Lattner <clattner at apple.com> writes:
>
>>> class CodeGenOpt {
>>> ...
>>> public
>>> getOptLevel() ...;
>>> getFPLevel() ...;
>>> getMemLevel() ...;
>>> };
>>>
>>> Does this sound reasonable?
>>
>> I don't think that this is
2017 Jan 06
3
LLVMTargetMachine with optimization level passed from clang.
Here is a problem scenario.
I want to enable a backend pass at -O2 or above.
if (TM->getOptLevel() >= CodeGenOpt::Default)
addPass(&xxxxx);
This pass will be run at -O1 too since clang is creating the TargetMachine with CodeGenOpt::Default for -O1.
--Sumanth G
-----Original Message-----
From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com]
Sent: Friday, January 6, 2017
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
getOptLevel() gets the level from TargetMachine which is created by the Backendutil in clang with either
"Default", "None" or "Aggressive". Threre is no correspondence for "Less".
This boils down to , if I pass "-O1", the Target Machine is created with CodeGenOpt::Default.
I am available on IRC @ sgundapa.
-----Original Message-----
From:
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mehdi
> Amini via llvm-dev
> Sent: Friday, January 06, 2017 11:10 AM
> To: Sumanth Gundapaneni
> Cc: LLVM Developers
> Subject: Re: [llvm-dev] LLVMTargetMachine with optimization level passed
> from clang.
>
>
> > On Jan 6, 2017, at 10:56 AM, Sumanth
2017 Jan 05
3
LLVMTargetMachine with optimization level passed from clang.
I want the optimization to be turned on at -O1 and above.
In my case, it is a target independent back-end pass. (Eg:
MachinePipeliner)
On 2017-01-04 18:10, Mehdi Amini wrote:
>> On Jan 4, 2017, at 4: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
2019 Aug 14
3
ORC v2 question
Hi Lang,
On Tue, 13 Aug 2019 at 23:26, Lang Hames <lhames at gmail.com> wrote:
>> I also get this message:
>> JIT session error: Symbols not found: { raise_error }
>
>
> Ahh -- I see the problem. The DynamicLibrarySearchGenerator is using the getAddressOfSymbol method, which (under the hood) is basically issuing an appropriate dlsym lookup, and that does not find
2013 Nov 23
2
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
Amara,
first, thank you for answering. but I found expandPsuedo instructions
actually happens before post-RA, like the following code showing:
your approach is a little hacky, right? : )
// Expand pseudo instructions before second scheduling pass.
addPass(&ExpandPostRAPseudosID);
printAndVerify("After ExpandPostRAPseudos");
// Run pre-sched2 passes.
if (addPreSched2())
2013 Jan 07
4
[LLVMdev] instruction scheduling issue
On 1/7/2013 2:15 PM, Xu Liu wrote:
>
> This would be ideal. How can I do the instrumentation pass after the
> instruction scheduling?
You could derive your own class from TargetPassConfig, and add the
annotation pass in YourDerivedTargetPassConfig::addPreEmitPass. This
will add your annotation pass very late, just before the final code is
emitted. If you're using the X86 target,
2013 Nov 23
0
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
What I meant was to write your own expansion pass and run it after the
scheduler passes, e.g. in the pre-emit stage.
> if (addPreEmitPass())
printAndVerify("After PreEmit passes")
Though if it's too hacky for you then fair enough.
Amara
On 23 November 2013 03:17, Liu Xin <navy.xliu at gmail.com> wrote:
> Amara,
>
> first, thank you for answering. but I found
2019 Aug 13
4
ORC v2 question
Hi Lang,
On Tue, 13 Aug 2019 at 22:03, Lang Hames <lhames at gmail.com> wrote:
> When you say your code is not getting optimized, do you mean that IR optimizations are not being applied, or that codegen optimizations are not being applied?
>
> What do you see if you dump the modules before/after running the pass manager on them, like this:
>
> dbgs() << "Before
2015 Nov 17
2
Confused on how to do a machinefunction pass
Hi,
So, I run my pass in X86 target with llc command and it printed out
"hello****". Now I am trying to do the same pass for ARM target. So I did
exactly what I did for X86 as mentioned in my previous posts. When I run
the following command:
llc -march=arm test.ll -o test
nothing prints out. I did the same for MIPS target too and I got no result.
Can anyone tell me what I'm doing
2013 Nov 23
1
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
I think this after a second. I got your point. I can define a pseudo
instruction for an instr-pair and expand it after post-RA-sched. as you
said, in preEmitPass.
The original intrinsic can also be kept. I just convert the intrinsic to
pseudo instruction in TargetLower. Thank you for your enlightening
suggestion!
thanks,
--lx
On Sat, Nov 23, 2013 at 8:37 PM, Amara Emerson <amara.emerson at
2015 Nov 17
2
Confused on how to do a machinefunction pass
Yes, I have done exactly the same. The wawanalyzer is the same. I changed
ARM.h and ARMTargetMachine.cpp in the tager/arm folder. then I make
tool/llc and lib folder.
On Tue, Nov 17, 2015 at 10:55 AM, John Criswell <jtcriswel at gmail.com> wrote:
> On 11/17/15 12:16 AM, fateme Hoseini via llvm-dev wrote:
>
> Hi,
> So, I run my pass in X86 target with llc command and it printed
2017 Aug 22
2
Subtarget Initialization in <ARCH>TargetMachine constructor
Hi,
I found some different discrepancy on how Subtarget is created
between some arch specific TargetMachine constructor.
For example, for BPF/Lanai:
BPFTargetMachine::BPFTargetMachine(const Target &T, const Triple &TT,
StringRef CPU, StringRef FS,
const TargetOptions &Options,
2011 Aug 26
1
[LLVMdev] Build breaks in lib/CodeGen
I checked recent revisions 138624 and 138620 and both produce this log
with gcc-4.6.0 on FreeBSD-8.2-STABLE amd64:
gmake[2]: Entering directory
`/usr/home/yuri/llvm-svn/llvm-objects/lib/CodeGen'
llvm[2]: Compiling LLVMTargetMachine.cpp for Release build
/usr/home/yuri/llvm-svn/llvm/lib/CodeGen/LLVMTargetMachine.cpp:253:3:
error: ‘AsmStreamer’ does not name a type
2017 Jan 05
4
LLVMTargetMachine with optimization level passed from clang.
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
2010 Jul 21
0
[LLVMdev] MC-JIT
On Tue, Jul 20, 2010 at 3:41 PM, Olivier Meurant
<meurant.olivier at gmail.com> wrote:
> New patch taking Eli's comments into account.
Comments inline. If you have commit access, I'd fire away. If not, I can.
diff --git include/llvm/MC/MCAssembler.h include/llvm/MC/MCAssembler.h
index 07ca070..afff96e 100644
--- include/llvm/MC/MCAssembler.h
+++ include/llvm/MC/MCAssembler.h
2015 Nov 18
4
Mips unconditionally uses fast-isel?
Well, 'optnone' is already not identical to -O0, and given the nature of things, probably can't be; but I am persuaded that it's reasonable for it to honor the -fast-isel option as a debugging tactic. I'll take an AI to make this happen.
Thanks,
--paulr
P.S. One nit, the "O0 + optnone" case should not have an asterisk, the FastISel flag is not manipulated if the opt