search for: passinfo

Displaying 20 results from an estimated 198 matches for "passinfo".

2010 Oct 22
0
[LLVMdev] Crash with llc and vector code
...kPass() + 34258 17 llc 0x0000000100872b23 llvm::BasicBlockPass::~BasicBlockPass() + 35027 18 llc 0x0000000100872bbd llvm::BasicBlockPass::~BasicBlockPass() + 35181 19 llc 0x000000010002300a std::_Rb_tree<void const*, std::pair<void const* const, llvm::PassInfo const*>, std::_Select1st<std::pair<void const* const, llvm::PassInfo const*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::PassInfo const*> > >::_M_insert_unique(std::pair<void const* const, llvm::PassInfo const*> const&)...
2010 Oct 22
1
[LLVMdev] Crash with llc and vector code
...kPass() + 34258 17 llc 0x0000000100872b23 llvm::BasicBlockPass::~BasicBlockPass() + 35027 18 llc 0x0000000100872bbd llvm::BasicBlockPass::~BasicBlockPass() + 35181 19 llc 0x000000010002300a std::_Rb_tree<void const*, std::pair<void const* const, llvm::PassInfo const*>, std::_Select1st<std::pair<void const* const, llvm::PassInfo const*> >, std::less<void const*>, std::allocator<std::pair<void const* const, llvm::PassInfo const*> > >::_M_insert_unique(std::pair<void const* const, llvm::PassInfo const*> const&)...
2010 May 18
2
[LLVMdev] Possible memory leak in LLVM 2.5
...nged addAnalysisImplsPair to the following, which seems to have no side effects with what I am doing. Prior to that, AnalysisImpls contained thousands of entries and each time the vector gets realloced to accommodate more entries we lose a bigger chunk of memory. void addAnalysisImplsPair(const PassInfo *PI, Pass *P) { for (std::vector<std::pair<const PassInfo*, Pass*> >::iterator I = AnalysisImpls.begin(); (I!=AnalysisImpls.end()); ++I) { if (I->first==PI && I->second==P) { // Return, if PassInfo and Pass are already in Analys...
2005 Jul 29
1
[LLVMdev] How to define a pass requiring a register allocation pass?
How to define a MachineFunctionPass requireing one of the register allocation passes being executed first? Should there be a PassInfo for register allocation in Pass.h? Pass.h: namespace llvm { extern const PassInfo *PHIEliminationID; extern const PassInfo *TwoAddressInstructionPassID; extern const PassInfo *RegisterAllocationPassID; // <-- add this one? There are four register allocation passes in CodeGe...
2010 Jul 23
1
[LLVMdev] "Cannot call createPass on PassInfo without default ctor!"
While trying to add a pass to the ARM back end I'm getting quite a lot of this assertion failure: Pass.cpp:255: llvm::Pass* llvm::PassInfo::createPass() const: Assertion `NormalCtor && "Cannot call createPass on PassInfo without default ctor!"' failed. A simple way to get it is to add two lines to ARMTargetMachine.cpp: #include "llvm/Transforms/Scalar.h" and PM.add(createSinkingPass()); in addIns...
2010 May 18
0
[LLVMdev] Possible memory leak in LLVM 2.5
...ollowing, which seems to have no > side effects with what I am doing.  Prior to that, AnalysisImpls contained > thousands of entries and each time the vector gets realloced to accommodate > more entries we lose a bigger chunk of memory. > > > >   void addAnalysisImplsPair(const PassInfo *PI, Pass *P) { > >      for (std::vector<std::pair<const PassInfo*, Pass*> >::iterator I = > >         AnalysisImpls.begin(); (I!=AnalysisImpls.end()); ++I) > >      { > >         if (I->first==PI && I->second==P) > >         { > >     ...
2016 Mar 24
0
Adding PassInfo to PassRegistry
How do i create PassInfo for a Pass and then register it on the PassRegistry? I need to add TargetLibraryInfoWrapperPass to the registry, because addImmutablePass() function asserts because it doesn't find Info for the pass.
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...lib 0x00007fff90d32cfa _sigtramp + 26 4 libsystem_c.dylib 0xfffffffffffffff8 _sigtramp + 1865208600 5 libsystem_c.dylib 0x00007fff64a41948 _sigtramp + 3553684584 6 libdyld.dylib 0x00007fff8afe2716 dyld_stub_binder_ + 13 7 LLVMSLVN.dylib 0x00000001081a8040 void std::__destroy_aux<llvm::PassInfo const**>(llvm::PassInfo const**, llvm::PassInfo const**, std::__true_type) + 19904 8 LLVMSLVN.dylib 0x00000001081998c1 (anonymous namespace)::DVN::runOnFunction(llvm::Function&) + 65 9 opt 0x0000000105eb27b2 llvm::FPPassManager::runOnFunction(llvm::Function&) + 434 10...
2008 Dec 02
2
[LLVMdev] Error when using getAnalysis
...pass shows an example like what John wrote, calling a function pass within a module pass on a per function basis. However, if I code it that way, I still get the same error: opt: /x/jeffhao/llvm/llvm/include/llvm/PassAnalysisSupport.h:232: AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*, llvm::Function&) [with AnalysisType = llvm::LoopInfo]: Assertion `ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"' failed. If I remove the addRequired from getAnalysisUsage, I get this error: opt: /x/jeffhao/ll...
2016 Mar 23
2
Help with pass manager
...ry::getPassRegistry(); if (!RunPass.empty()) { if (!StartAfter.empty() || !StopAfter.empty()) { errs() << "start-after and/or stop-after passes are redundant when run-pass is specified.\n"; return 1; } const PassInfo *PI = PR->getPassInfo(RunPass); if (!PI) { errs() << "run-pass pass is not registered.\n"; return 1; } StopAfterID = StartBeforeID = PI->getTypeInfo(); } else { if (!StartAfter.empty()) {...
2007 Apr 25
2
[LLVMdev] ModulePass that requires FunctionPass
...(anonymous namespace)::PrintStackTrace()+0x1a)[0x86423ca] opt((anonymous namespace)::SignalHandler(int)+0x110)[0x86426f2] /lib/tls/libc.so.6[0x683898] opt(std::vector<llvm::Pass*, std::allocator<llvm::Pass*> >::begin()+0x19)[0x84e3bb7] opt(llvm::PMTopLevelManager::findAnalysisPass(llvm::PassInfo const*)+0x26)[0x85cc88a] opt(llvm::PMDataManager::findAnalysisPass(llvm::PassInfo const*, bool)+0xb7)[0x85cc827] opt(llvm::PMDataManager::initializeAnalysisImpl(llvm::Pass*)+0x96)[0x85cd39e] opt(llvm::FPPassManager::runOnFunction(llvm::Function&)+0xff)[0x85ce667] opt(llvm::MPPassManager::getOnT...
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...igtramp + 26 > 4 libsystem_c.dylib 0xfffffffffffffff8 _sigtramp + 1865208600 > 5 libsystem_c.dylib 0x00007fff64a41948 _sigtramp + 3553684584 > 6 libdyld.dylib 0x00007fff8afe2716 dyld_stub_binder_ + 13 > 7 LLVMSLVN.dylib 0x00000001081a8040 void > std::__destroy_aux<llvm::PassInfo const**>(llvm::PassInfo const**, > llvm::PassInfo const**, std::__true_type) + 19904 > 8 LLVMSLVN.dylib 0x00000001081998c1 (anonymous > namespace)::DVN::runOnFunction(llvm::Function&) + 65 > 9 opt 0x0000000105eb27b2 > llvm::FPPassManager::runOnFunction(llvm:...
2008 Nov 30
3
[LLVMdev] Error when using getAnalysis
...} virtual bool runOnModule(Module &M) { LoopInfo &LI = getAnalysis<LoopInfo>(); } I get following error when I try to run my pass : opt: /net/hc295/nwarkari/llvm/llvm-2.3/include/llvm/PassAnalysisSupport.h:193: AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*) const [with AnalysisType = llvm::LoopInfo]: Assertion `ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"' failed. opt[0x83cfa9d] /lib/tls/libc.so.6(abort+0xe9)[0x15d289] /lib/tls/libc.so.6(__assert_fail+0x101)[0x154da1...
2013 Apr 12
0
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
...gtramp + 26 > 4 libsystem_c.dylib 0xfffffffffffffff8 _sigtramp + 1865208600 > 5 libsystem_c.dylib 0x00007fff64a41948 _sigtramp + 3553684584 > 6 libdyld.dylib 0x00007fff8afe2716 dyld_stub_binder_ + 13 > 7 LLVMSLVN.dylib 0x00000001081a8040 void > std::__destroy_aux<llvm::PassInfo const**>(llvm::PassInfo const**, > llvm::PassInfo const**, std::__true_type) + 19904 > 8 LLVMSLVN.dylib 0x00000001081998c1 (anonymous > namespace)::DVN::runOnFunction(llvm::Function&) + 65 > 9 opt 0x0000000105eb27b2 > llvm::FPPassManager::runOnFunction(ll...
2008 May 05
1
[LLVMdev] LoopInfo::isAnalysis() unused?
...ng at the LoopInfo Analysis pass as an example, and found it defined the isAnalysis() method to return true. I assumed the method was overriden from some superclass (Pass, probably) and present in all analysis passes. However, a better look turns out that the method isn't really used anywhere. PassInfo does define the same method which is used, but PassInfo is not a superclass of LoopInfo. AFAICS, LoopInfo::isAnalysis (include/llvm/Analysis/LoopInfo.h:924) is unused and can/should be removed? Removing the method doesn't break compilation for me. Gr. Matthijs -------------- next part ------...
2014 Oct 17
3
[LLVMdev] oprofile support?
...0x00 (No unit mask) count 5000000 samples % image name symbol name 38 57.5758 no-vmlinux /no-vmlinux 2 3.0303 ld-2.19.so _dl_lookup_symbol_x 2 3.0303 libLLVMCore.so llvm::DenseMapBase<llvm::DenseMap<void const*, llvm::PassInfo const*, llvm::DenseMapInfo<void const*> >, void const*, llvm::PassInfo const*, llvm::DenseMapInfo<void const*> >::getHashValue(void const* const&) 2 3.0303 libLLVMCore.so std::vector<llvm::PassInfo const*, std::allocator<llvm::PassInfo const*> >:...
2009 May 23
0
[LLVMdev] why RegisterPass<TargetData> initialize itself twice in my system
HI, Developers: I linked libLTO.so in $LLVMROOT/Debug/lib however, my program crashes in assertion at 149line [Pass.cpp] void RegisterPass(const PassInfo &PI) { bool Inserted = PassInfoMap.insert(std::make_pair(PI.getTypeInfo(),&PI)).second; assert(Inserted && "Pass registered multiple times!"); } i confirm that there is only one static variable suspecting to call this register routine to register &quot...
2016 Mar 24
2
Help with pass manager
...mpty()) { >> if (!StartAfter.empty() || !StopAfter.empty()) { >> errs() << "start-after and/or stop-after passes are redundant when run-pass is specified.\n"; >> return 1; >> } >> const PassInfo *PI = PR->getPassInfo(RunPass); >> if (!PI) { >> errs() << "run-pass pass is not registered.\n"; >> return 1; >> } >> StopAfterID = StartBeforeID = PI->getTypeInfo(); >>...
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
Hi, We use LLVM libraries to compile C++ code and noticed slow downs when multiple threads of a process were compiling at once. *perf *indicated that most of the CPU time was spent in a spin lock, which was being locked/unlocked from llvm::PassRegistry::getPassInfo(). We read the relevant LLVM code and found out that PassRegistry is a ManagedStatic and is shared among all threads in case of a multi-threaded setup. This sharing requires locking in PassRegistry's method, which becomes source of the contention. To get rid of the contention, we made a change...
2006 May 31
0
[LLVMdev] Adding an object to llc (analysis pass)
On Wed, 31 May 2006, Silken Tiger wrote: >> that requires a BasicBlockPass, it will fail the same was as when a >> ModulePass requires a FunctionPass. > void MParSchedule::getAnalysisUsage(AnalysisUsage &AU) const { > AU.setPreservesAll(); > } > > MParSchedule requires nothing and changes nothing. So hopefully the above code > represents this fact? Right