search for: passregistered

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

Did you mean: passregister
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm confused by your code. StaticInitializer seems to exist so you can create InitializeEverything, which doesn't get used. Do I need to do something along the lines of: static void registerPollyPasses(const llvm::PassManagerBuilder &Builder, llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass());
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/08/2011 03:40 PM, ret val wrote: > I'm confused by your code. StaticInitializer seems to exist so you can > create InitializeEverything, which doesn't get used. > > Do I need to do something along the lines of: > static void registerPollyPasses(const llvm::PassManagerBuilder&Builder, >
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 "initializ...
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?
Sorry to keep dragging this out on you. Im now getting: Assertion failed: (ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"), function getAnalysisID But I already have: void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<DominatorTree>(); } And changed the bottom of my pass too: char Hello::ID =
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::itera...