search for: passmanagerbase

Displaying 20 results from an estimated 67 matches for "passmanagerbase".

2010 Jul 21
0
[LLVMdev] MC-JIT
...of the Doxygen comments: /// methodName - Use complete sentences starting with caps and ending with /// periods. + /// get machine code emitted. This method should returns true if fails. + /// It fills the MCContext Ctx pointer used to build MCStreamer. + /// + virtual bool addPassesToEmitMC(PassManagerBase &PM, + MCContext *&Ctx, + CodeGenOpt::Level OptLevel, + bool DisableVerify = true) { + return true; + } Ditto. + /// get machine code emitted. This method should returns true if fails. +...
2010 Jul 20
2
[LLVMdev] MC-JIT
New patch taking Eli's comments into account. Olivier. On Tue, Jul 20, 2010 at 11:09 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Tue, Jul 20, 2010 at 1:36 PM, Olivier Meurant > <meurant.olivier at gmail.com> wrote: >>> Seems reasonable, but I haven't looked at the code yet. I would >>> suggest trying to split your work up into separate
2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...============================= --- include/llvm/Transforms/IPO/PassManagerBuilder.h (revision 187135) +++ include/llvm/Transforms/IPO/PassManagerBuilder.h (working copy) @@ -132,8 +132,14 @@ /// populateModulePassManager - This sets up the primary pass manager. void populateModulePassManager(PassManagerBase &MPM); - void populateLTOPassManager(PassManagerBase &PM, bool Internalize, - bool RunInliner, bool DisableGVNLoadPRE = false); + + /// setup passes for Pre-IPO phase + void populatePreIPOPassMgr(PassManagerBase &MPM); + + void populateIPOPassManager(Pas...
2018 Jun 25
2
How to include a opt pass in clang driver
Hi Eli, I have tried that: static void registerMyPass(const PassManagerBuilder &, llvm::legacy::PassManagerBase &PM) { PM.add(new MyPass()); } static RegisterStandardPasses RegisterMyPass(PassManagerBuilder::EP_OptimizerLast, registerMyPass); It still couldn't find my pass. Regards, Soham Sinha PhD Student, Department of Computer Science Boston University On...
2013 Jul 18
3
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Andy and I briefly discussed this the other day, we have not yet got chance to list a detailed pass order for the pre- and post- IPO scalar optimizations. This is wish-list in our mind: pre-IPO: based on the ordering he propose, get rid of the inlining (or just inline tiny func), get rid of all loop xforms... post-IPO: get rid of inlining, or maybe we still need it, only
2010 Jul 21
1
[LLVMdev] MC-JIT
...methodName - Use complete sentences starting with caps and ending with > /// periods. > > +  /// get machine code emitted.  This method should returns true if fails. > +  /// It fills the MCContext Ctx pointer used to build MCStreamer. > +  /// > +  virtual bool addPassesToEmitMC(PassManagerBase &PM, > +                                 MCContext *&Ctx, > +                                 CodeGenOpt::Level OptLevel, > +                                 bool DisableVerify = true) { > +    return true; > +  } > > Ditto. > > +  /// get machine code emitted.  T...
2018 May 15
2
Pass segmentation fault after llvm_shutdown.
...ster/lib/Sword.cpp Any help is much appreciated, Thanks! Simone #0 0x00007f1d93735170 in ?? () #1 0x00000000017d2b96 in llvm::object_deleter<llvm::SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, std::function<void (llvm::PassManagerBuilder const&, llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () #2 0x0000000001b0e5e9 in llvm::llvm_shutdown() () #3 0x00000000008d8077 in main () -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180514/0771d8c5/attachment.html...
2018 Apr 18
2
LLVM Pass Managers
Hi Philip, Thank you for your reply. So what would be the right way/API to write out-of-tree pass? I've been using *PassManagerBuilder*, which requires a callback refering to *legacy::PassManagerBase*, so I guess this will be no longer the good way to go? Son Tuan Vu On Tue, Apr 17, 2018 at 6:06 PM, Philip Pfaffe <philip.pfaffe at gmail.com> wrote: > Hi Son, > > I have an answer to your first question: > > 1, What are the differences between *LegacyPassManager* and *Pass...
2018 May 15
2
Pass segmentation fault after llvm_shutdown.
...> Simone > > #0  0x00007f1d93735170 in ?? () > #1  0x00000000017d2b96 in > llvm::object_deleter<llvm::SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, > std::function<void (llvm::PassManagerBuilder const&, > llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () > #2  0x0000000001b0e5e9 in llvm::llvm_shutdown() () > #3  0x00000000008d8077 in main () > > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://l...
2016 Feb 22
2
raw_pwrite_stream to string or stdout?
Note that raw_fd_ostream is not seekable, and hence will not be suitable as addPassesToEmitFile output stream. 2016-02-22 18:27 GMT+02:00 Rafael Espíndola <llvm-dev at lists.llvm.org>: > On 22 February 2016 at 11:16, Frank Winter <fwinter at jlab.org> wrote: > > TargetMachine::CGFT_AssemblyFile is exactly what I am trying to write > out. > > I see. > > For
2011 Aug 10
1
[LLVMdev] How to emit a simple stream of machine code.
...truction after another. I think I've already implemented everything in the backend that is required to do this, but I'm not sure how to get a pointer to the emitted machine code stream so I can send it to the GPU. I'm guessing that I need to use the function addPassesToEmitMachineCode(PassManagerBase &PM,JITCodeEmitter &JCE, CodeGenOpt::Level OptLevel, bool DisableVerify), but I'm not sure how to extract the code from the JITCodeEmitter, or if this is even the right place to start. What is the best way for me to accomplish this? Thanks, Tom
2013 Sep 14
0
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...n as pollyNoGenSCEV but remove all canonicalization passes (actually only keep "createCodePreparationPass") when generate LLVMPolly.so Fist. let's see the results of removing the first "InstructionCombining" pass like this: static void registerCanonicalicationPasses(llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); // PM.add(llvm::createInstructionCombiningPass()); //this is the most expensive canonicalization pass for flop benchmark PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createTailCallEliminationPass()); PM.add(llvm::c...
2013 Sep 13
2
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...onicalization passes related to "Combine redundant instructions". > >OK. By investigating the flop benchmark, I find the key is the first "InstructionCombining" pass in a serial of canonicalization passes listed as follows: static void registerCanonicalicationPasses(llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); PM.add(llvm::createInstructionCombiningPass()); //this is the most expensive canonicalization pass for flop benchmark PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createTailCallEliminationPass()); PM.add(llvm::cre...
2018 May 15
0
Pass segmentation fault after llvm_shutdown.
...reciated, > Thanks! > Simone > > #0 0x00007f1d93735170 in ?? () > #1 0x00000000017d2b96 in llvm::object_deleter<llvm:: > SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, > std::function<void (llvm::PassManagerBuilder const&, > llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () > #2 0x0000000001b0e5e9 in llvm::llvm_shutdown() () > #3 0x00000000008d8077 in main () > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180514/649b...
2013 Apr 17
3
[LLVMdev] [polly] pass ordering
...t is used to bring the code /// into a canonical form that simplifies the analysis and optimization passes /// of Polly. The set of optimization passes scheduled here is probably not yet /// optimal. TODO: Optimize the set of canonicalization passes. static void registerCanonicalicationPasses(llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); PM.add(llvm::createInstructionCombiningPass()); PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createTailCallEliminationPass()); PM.add(llvm::createCFGSimplificationPass()); PM.add(llvm::createReassociatePass());...
2017 Jul 10
2
Problems with registering of ModulePass (with Dependencies)
...au.addRequired<LoopInfoWrapperPass>(); } }; } char SkeletonPass::ID = 0; //Automatically enable the pass. //http://adriansampson.net/blog/clangpass.html static void registerSkeletonPass(const PassManagerBuilder &, legacy::PassManagerBase &PM) { PM.add(new SkeletonPass()); } static RegisterStandardPasses RegisterMyPass(PassManagerBuilder::EP_ModuleOptimizerEarly, registerSkeletonPass); static RegisterStandardPasses RegisterMyPass0(PassManagerBuilder::EP_EnabledOnOptLevel0, registerSkeletonPass); -------...
2018 Apr 19
0
LLVM Pass Managers
...s, Philip 2018-04-18 13:40 GMT+02:00 Son Tuan VU <sontuan.vu119 at gmail.com>: > Hi Philip, > > Thank you for your reply. So what would be the right way/API to write > out-of-tree pass? I've been using *PassManagerBuilder*, which requires a > callback refering to *legacy::PassManagerBase*, so I guess this will be > no longer the good way to go? > > Son Tuan Vu > > On Tue, Apr 17, 2018 at 6:06 PM, Philip Pfaffe <philip.pfaffe at gmail.com> > wrote: > >> Hi Son, >> >> I have an answer to your first question: >> >> 1, What are t...
2017 Sep 19
3
Help with segfault in llvm_shutdown with LLVM 5.0 Release build
...to look. Program received signal SIGSEGV, Segmentation fault. #0 0x00007ffff6926c20 in ?? () #1 0x00005555561c333b in llvm::object_deleter<llvm::SmallVector<std::pair<llvm::PassManagerBuilder::ExtensionPointTy, std::function<void (llvm::PassManagerBuilder const&, llvm::legacy::PassManagerBase&)> >, 8u> >::call(void*) () #2 0x000055555658492d in llvm::ManagedStaticBase::destroy() const () #3 0x00005555565849e5 in llvm::llvm_shutdown() () #4 0x000055555589e0a2 in main () Best, Dipto
2013 Jun 21
2
[LLVMdev] About writing a modulePass in addPreEmitPass() for NVPTX
...llc 0x00000000016ec3b1 llvm::PMTopLevelManager::schedulePass(llvm::Pass*) + 983 9 llc 0x00000000016f2990 10 llc 0x00000000016f0e91 llvm::PassManager::add(llvm::Pass*) + 39 11 llc 0x00000000011c119b llvm::LLVMTargetMachine::addPassesToEmitFile(llvm::PassManagerBase&, llvm::formatted_raw_ostream&, llvm::TargetMachine::CodeGenFileType, bool, void const*, void const*) + 1705 12 llc 0x00000000008c08b5 13 llc 0x00000000008bf8cd main + 237 14 libc.so.6 0x00007f986687576d __libc_start_main + 237 15 llc 0x00000000008b...
2018 Apr 20
2
LLVM Pass Managers
...:40 GMT+02:00 Son Tuan VU <sontuan.vu119 at gmail.com>: > >> Hi Philip, >> >> Thank you for your reply. So what would be the right way/API to write >> out-of-tree pass? I've been using *PassManagerBuilder*, which requires a >> callback refering to *legacy::PassManagerBase*, so I guess this will be >> no longer the good way to go? >> >> Son Tuan Vu >> >> On Tue, Apr 17, 2018 at 6:06 PM, Philip Pfaffe <philip.pfaffe at gmail.com> >> wrote: >> >>> Hi Son, >>> >>> I have an answer to your first q...