search for: addmachinelateoptim

Displaying 7 results from an estimated 7 matches for "addmachinelateoptim".

2012 Nov 01
2
[LLVMdev] Tail Duplication Questions
Eli Friedman <eli.friedman at gmail.com> writes: >> Ah. So is the MachineFunction version expected to work correctly? > > It's part of the default set of CodeGen passes. It is? Was that true in 3.1? I can't see where it is initialized in llc. I probably missed something important. :) Thanks! -David
2012 Nov 01
0
[LLVMdev] Tail Duplication Questions
...TargetPassConfig::addMachineSSAOptimization() { // Pre-ra tail duplication. if (addPass(EarlyTailDuplicateID) != &NoPassID) printAndVerify("After Pre-RegAlloc TailDuplicate"); /// Add passes that optimize machine instructions after register allocation. void TargetPassConfig::addMachineLateOptimization() { // Branch folding must be run after regalloc and prolog/epilog insertion. if (addPass(BranchFolderPassID) != &NoPassID) printAndVerify("After BranchFolding"); // Tail duplication. if (addPass(TailDuplicateID) != &NoPassID) printAndVerify("After Tai...
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
...want your pass to live and sticking in some logic like this in there: if (getOptLevel() != CodeGenOpt::None) addPass(&MyPassID); A lot of passes are added in just TargetPassConfig::addMachinePasses(), but some live in more specialized areas like, for the sake of example, TargetPassConfig::addMachineLateOptimization(). You can add it wherever seems best for your specific pass. Hope that helps! Jessica Paquette > On Jan 5, 2017, at 8:12 AM, via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > I want the optimization to be turned on at -O1 and above. > In my case, it is a target inde...
2017 Jan 06
3
LLVMTargetMachine with optimization level passed from clang.
...nd sticking in some logic like this in there: > > if (getOptLevel() != CodeGenOpt::None) > addPass(&MyPassID); > > A lot of passes are added in just TargetPassConfig::addMachinePasses(), but some live in more specialized areas like, for the sake of example, TargetPassConfig::addMachineLateOptimization(). You can add it wherever seems best for your specific pass. > > Hope that helps! > > Jessica Paquette > >> On Jan 5, 2017, at 8:12 AM, via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> I want the optimization to be turned on at -O1 and above....
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
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
...gt;> > >> if (getOptLevel() != CodeGenOpt::None) > >> addPass(&MyPassID); > >> > >> A lot of passes are added in just TargetPassConfig::addMachinePasses(), > but some live in more specialized areas like, for the sake of example, > TargetPassConfig::addMachineLateOptimization(). You can add it wherever > seems best for your specific pass. > >> > >> Hope that helps! > >> > >> Jessica Paquette > >> > >>> On Jan 5, 2017, at 8:12 AM, via llvm-dev <llvm-dev at lists.llvm.org> > wrote: > >>&g...
2016 May 04
4
Conditional tablegen expressions with math ops?
In our generated asm code we've got a constraint such that two registers in a ternary op have to be in different "banks", best illustrated with an example: add r1,r2,r1 # r1 <- r2 + r1 The problem here is that the first operand (the receiver of the value) is in the same "bank" as the 3rd operand (r1 again). This will cause an extra cycle to be burned. As it turns