search for: passregister

Displaying 8 results from an estimated 8 matches for "passregister".

2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...Passes(const llvm::PassManagerBuilder &Builder, llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass()); // create my own createHelloPass() method? } static llvm::RegisterStandardPasses PassRegister(llvm::PassManagerBuilder::EP_EarlyAsPossible, registerPollyPasses); I'm not sure how to code a possible createHelloPass, as the constructor for my class takes a argument(ID for ModulePass). Thanks On Tue, Nov 8, 2011 at 4:10 AM, Tobias Grosser <tobias at grosser.es&gt...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...amp;Builder, > llvm::PassManagerBase&PM) { > PM.add(llvm::createPromoteMemoryToRegisterPass()); > // create my own createHelloPass() method? > } > > static llvm::RegisterStandardPasses > PassRegister(llvm::PassManagerBuilder::EP_EarlyAsPossible, > registerPollyPasses); > > I'm not sure how to code a possible createHelloPass, as the > constructor for my class takes a argument(ID for ModulePass). This is the code interesting to you: 66 void initializePollyP...
2011 Nov 07
0
[LLVMdev] r139934 requires (correct?) code organization changes
...egistered! UNREACHABLE executed at <root dir>/llvm/include/llvm/Support/PassNameParser.h:73! Prior to patch r139934 (prior to the default platform's installed clang building clang and llvm), this example works fine. From a llvm pass internals perspective this is because PassNameParser::passRegistered(...) tries to add a new option containing info for a pass; in this case the DominatorTree pass. The state of the system asserts because a DominatorTree pass option has already been created. This is perplexing since this means that the atomic compare and swap operation on static var "initial...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/08/2011 03:20 AM, ret val wrote: > I'm writing a Pass that I would like to remain loadable by opt. The > pass also requires DominatorTree(for PromoteMemToReg). > > Looking for examples the only way I found to require a dependecny is > by doing something like this: > char Hello::ID = 0; > namespace llvm { void
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...                            llvm::PassManagerBase&PM) { >>                PM.add(llvm::createPromoteMemoryToRegisterPass()); >>                // create my own createHelloPass() method? >>         } >> >>         static llvm::RegisterStandardPasses >>         PassRegister(llvm::PassManagerBuilder::EP_EarlyAsPossible, >>                      registerPollyPasses); >> >> I'm not sure how to code a possible createHelloPass, as the >> constructor for my class takes a argument(ID for ModulePass). > > This is the code interesting to you: &...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm writing a Pass that I would like to remain loadable by opt. The pass also requires DominatorTree(for PromoteMemToReg). Looking for examples the only way I found to require a dependecny is by doing something like this: char Hello::ID = 0; namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello
2020 Jul 22
6
New pass manager for optimization pipeline status and questions
Hi all, I wanted to give a quick update on the status of NPM for the IR optimization pipeline and ask some questions. In the past I believe there were thoughts that NPM was basically ready because all of check-llvm and check-clang passed when -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=ON was specified. But that CMake flag did not apply to opt and any tests running something like `opt -foo-pass
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...ke_pair(PI.getTypeInfo(),&PI)).second; @@ -115,24 +116,22 @@ void PassRegistry::registerPass(const PassInfo &PI, bool ShouldFree) { for (std::vector<PassRegistrationListener*>::iterator I = Impl->Listeners.begin(), E = Impl->Listeners.end(); I != E; ++I) (*I)->passRegistered(&PI); - + if (ShouldFree) Impl->ToFree.push_back(&PI); } void PassRegistry::unregisterPass(const PassInfo &PI) { - sys::SmartScopedLock<true> Guard(*Lock); PassRegistryImpl *Impl = static_cast<PassRegistryImpl*>(getImpl()); - PassRegistryImpl::MapType::ite...