search for: addpass

Displaying 20 results from an estimated 97 matches for "addpass".

Did you mean: addess
2014 Jul 14
3
[LLVMdev] Register Machine Pass
...; unable to find it. > > > > > > I have built a machine function pass similar to the one found in > > HexagonHardwareLoops.cpp. So I have generated a machine pass.cpp file, > > modified 'Target'.h and 'Target'TargetMachine.cpp (to add pass via > > addPass() in the addPreRegAlloc()). All this builds/compiles fine. > > > > > > When running llc the pass does not get executed. > > > > > > I seem to be missing some steps? Potentially registration of the > > machine pass? > > That should be all you need to d...
2010 Mar 04
6
[LLVMdev] [PATCH] Before/After IR Dumps
...better way? Possibly. What specifically do you object to? The main problem is that one needs different printers at different stages of the compiler: ModulePrinter, FunctionPrinter and MachineFunctionPrinter. It makes sense to write the code once and parameterize it on the printer type. I see addPass<> as the most "invasive" in the sense that the patch changes almost every call of PM.addPass(..) to addPass<>(PM, ...). That's a consequence of code sharing. I wanted a command-line interface that is intuitive. This requires that passes show up in the print option as a r...
2015 Jan 17
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
Hi Danny, // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that // BasicAliasAnalysis wins if they disagree. This is intended to help // support "obvious" type-punning idioms. - if (UseCFLAA) - addPass(createCFLAliasAnalysisPass()); addPass(createTypeBasedAliasAnalysisPass()); addPass(createScopedNoAliasAAPass()); + if (UseCFLAA) + addPass(createCFLAliasAnalysisPass()); addPass(createBasicAliasAnalysisPass()); Do we really want to change the order here? I had originally placed it af...
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
http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/lib/CodeGen/Passes.cpp?revision=156747&view=markup void 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/ep...
2015 Jan 17
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...; hfinkel at anl.gov > > wrote: > > > Hi Danny, > > // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that > // BasicAliasAnalysis wins if they disagree. This is intended to help > // support "obvious" type-punning idioms. > - if (UseCFLAA) > - addPass( createCFLAliasAnalysisPass()); > addPass( createTypeBasedAliasAnalysisPa ss()); > addPass( createScopedNoAliasAAPass()); > + if (UseCFLAA) > + addPass( createCFLAliasAnalysisPass()); > addPass( createBasicAliasAnalysisPass() ); > > Do we really want to change the order here?...
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()) printAndVerify("After PreSched2 passes"); // Second pass scheduler. if (getOptLevel() != CodeGenOpt::None) { addPass(&PostRASchedulerID...
2015 Jan 20
4
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...; Hi Danny, >> > >> > // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that >> > // BasicAliasAnalysis wins if they disagree. This is intended to help >> > // support "obvious" type-punning idioms. >> > - if (UseCFLAA) >> > - addPass( createCFLAliasAnalysisPass()); >> > addPass( createTypeBasedAliasAnalysisPa ss()); >> > addPass( createScopedNoAliasAAPass()); >> > + if (UseCFLAA) >> > + addPass( createCFLAliasAnalysisPass()); >> > addPass( createBasicAliasAnalysisPass() ); >> &...
2014 Jul 14
2
[LLVMdev] Register Machine Pass
...the documentation about registering a machine pass? I'm unable to find it. I have built a machine function pass similar to the one found in HexagonHardwareLoops.cpp. So I have generated a machine pass.cpp file, modified 'Target'.h and 'Target'TargetMachine.cpp (to add pass via addPass() in the addPreRegAlloc()). All this builds/compiles fine. When running llc the pass does not get executed. I seem to be missing some steps? Potentially registration of the machine pass? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm...
2015 Nov 17
2
Confused on how to do a machinefunction pass
...eatewawAnalyzer();" line to x86.h > 2. add file name to CMakelist.txt. > 3. This is going to run after postRAscheduler and before code emission so > I changed the x86TrgetMachine.cpp as follow: > void X86PassConfig::addPreEmitPass() { > /////////////add mypass here/////// > addPass(createwawAnalyzer()); > ////////////////////////////////// > if (getOptLevel() != CodeGenOpt::None) > addPass(createExecutionDependencyFixPass(&X86::VR128RegClass)); > > if (UseVZeroUpper) > addPass(createX86IssueVZeroUpperPass()); > > if (getOptLevel() !=...
2013 Jan 07
4
[LLVMdev] instruction scheduling issue
...ode is emitted. If you're using the X86 target, then the class and the function is already there: lib/Target/X86/X86TargetMachine.cpp: bool X86PassConfig::addPreEmitPass() { bool ShouldPrint = false; if (getOptLevel() != CodeGenOpt::None && getX86Subtarget().hasSSE2()) { addPass(createExecutionDependencyFixPass(&X86::VR128RegClass)); ShouldPrint = true; } if (getX86Subtarget().hasAVX() && UseVZeroUpper) { addPass(createX86IssueVZeroUpperPass()); ShouldPrint = true; } return ShouldPrint; } -Krzysztof -- Qualcomm Innovation Cente...
2011 Dec 14
0
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
On Dec 14, 2011, at 7:09 AM, David Gardner wrote: > I'm attempting to add some support for hoisting/sinking of memory-using > intrinsics in loops, and so I want to use MemoryDependenceAnalysis in > LICM, but when I modify getAnalysisUsge to include this : > > virtual void getAnalysisUsage(AnalysisUsage &AU) const { > AU.setPreservesCFG(); >
2010 Mar 04
0
[LLVMdev] [PATCH] Before/After IR Dumps
On Mar 2, 2010, at 1:45 PM, David Greene wrote: > This set of patches adds support for dumping IR before or after specified > Passes. It adds the following command-line options: > > -print-before=<pass-option> > -print-after=<pass-option> > -print-before-all > -print-after-all This patch looks very invasive for such a simple thing, isn't there a better
2015 Nov 17
2
Confused on how to do a machinefunction pass
...line to x86.h >> 2. add file name to CMakelist.txt. >> 3. This is going to run after postRAscheduler and before code emission so >> I changed the x86TrgetMachine.cpp as follow: >> void X86PassConfig::addPreEmitPass() { >> /////////////add mypass here/////// >> addPass(createwawAnalyzer()); >> ////////////////////////////////// >> if (getOptLevel() != CodeGenOpt::None) >> addPass(createExecutionDependencyFixPass(&X86::VR128RegClass)); >> >> if (UseVZeroUpper) >> addPass(createX86IssueVZeroUpperPass()); >>...
2015 Jan 15
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
On Thu, Jan 15, 2015 at 1:26 PM, Nick Lewycky <nlewycky at google.com> wrote: > On 15 January 2015 at 13:10, Daniel Berlin <dberlin at dberlin.org> wrote: > >> Yes. >> I've attached an updated patch that does the following: >> >> 1. Fixes the partialalias of globals/arguments >> 2. Enables partialalias for cases where nothing has been unified to
2013 Nov 23
0
[LLVMdev] prevents instruction-scheduler from interfereing instruction pair
...; wrote: > 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()) > printAndVerify("After PreSched2 passes"); > > // Second pass scheduler. > if (getOptLevel() != CodeGenOpt::None...
2020 Jul 24
2
Regarding the project "Create LoopNestPass"
...nonicalization passes to be run first, and composing both of them and promoting them into a single `FunctionPass` can reduce unnecessary runs of the canonicalization phases. With these, the pipeline can be built like: ``` FunctionPassManager FPM; LoopNestPassManager LNPM; LoopPassManager LPM; LNPM.addPass(SomeLoopNestPass()); LPM.addPass(SomeLoopPass()); LNPM.addPass(createLoopNestToLoopPassAdaptor(LPM)); FPM.addPass(createFunctionToLoopNestPassAdaptor(LNPM)); // This still works, but the loop canonicalization passes will be run twice: // FPM.addPass(createFunctionToLoopPassAdaptor(LPM)); // FPM.ad...
2015 Jan 21
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...> > > > // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that > > > // BasicAliasAnalysis wins if they disagree. This is intended to > > > help > > > // support "obvious" type-punning idioms. > > > - if (UseCFLAA) > > > - addPass( createCFLAliasAnalysisPass()); > > > addPass( createTypeBasedAliasAnalysisPa ss()); > > > addPass( createScopedNoAliasAAPass()); > > > + if (UseCFLAA) > > > + addPass( createCFLAliasAnalysisPass()); > > > addPass( createBasicAliasAnalysisPass() ); >...
2011 Dec 14
2
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
I'm attempting to add some support for hoisting/sinking of memory-using intrinsics in loops, and so I want to use MemoryDependenceAnalysis in LICM, but when I modify getAnalysisUsge to include this : virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesCFG(); AU.addRequired<DominatorTree>(); AU.addRequired<LoopInfo>();
2015 Nov 04
3
Confused on how to do a machinefunction pass
Thank you so much. That helped alot. Fami On Wed, Nov 4, 2015 at 9:40 AM, John Criswell <jtcriswel at gmail.com> wrote: > On 11/3/15 7:54 PM, fateme Hoseini wrote: > > Dear John, > Thank you so much for your help. I looked at those documents. Could you > kindly answer the following questions: > > Does it mean that I have to make my own backend target in order to write