Displaying 18 results from an estimated 18 matches for "findanalysispass".
2009 Oct 21
0
[LLVMdev] Target data question
If the TargetData pass isn't registered in the global registry,
getPassInfo() returns null.
Now when you add a TargetData pass, it winds up in ImmutablePasses.
Any search through ImmutablePasses assumes that getPassInfo() for
every member returns something other than null. So findAnalysisPass
for *any* analysis pass can crash the system if the TargetData pass is
lurking in the list without being registered.
Since we want to be able to run opt without a TargetData pass, this
will never do. If TargetData is registered globally, any
findAnalysisPass call will find it if there isn't a...
2018 May 05
4
Slow IR compilation/JIT, profiling points to LLVM?
...it's becoming an impediment. (Note: by slow I mean about 3s of time for
only about 2K of my front-end code, 65K lines of LLVM-IR)
Using valgrind I see some functions which seem out of place and
accounting for the vast majority of the time.
5.72%; 635,008 Calls; llvm::PMTopLevelManager::findAnalysisPass(void
const*) <cycle 4>
4.54%; 3,722,489 Calls; llvm::PMDataManager::findAnalysisPass(void
const*, bool)'2
4.11%; 4,604,499 Calls; bool
llvm::DenseMapBase<>::LookupBucketFor<>(void const* const&,
llvm::detail::DenseMapPair<> const*&) const
Also of inter...
2009 Oct 21
2
[LLVMdev] Target data question
On Tue, Oct 20, 2009 at 12:50 PM, Dan Gohman <gohman at apple.com> wrote:
>
> On Oct 20, 2009, at 10:13 AM, Kenneth Uildriks wrote:
>
>> On Tue, Oct 20, 2009 at 12:08 PM, Dan Gohman <gohman at apple.com> wrote:
>>> Unfortunately, yes. See PR4542. Progress has been made recently
>>> though -- the optimizers are now ready. The main things left to do
2009 Oct 21
2
[LLVMdev] Target data question
...TargetData pass isn't registered in the global registry,
> getPassInfo() returns null.
>
> Now when you add a TargetData pass, it winds up in ImmutablePasses.
> Any search through ImmutablePasses assumes that getPassInfo() for
> every member returns something other than null. So findAnalysisPass
> for *any* analysis pass can crash the system if the TargetData pass is
> lurking in the list without being registered.
>
> Since we want to be able to run opt without a TargetData pass, this
> will never do. If TargetData is registered globally, any
> findAnalysisPass call will...
2018 May 05
0
Slow IR compilation/JIT, profiling points to LLVM?
...(Note: by slow I mean about 3s of time for
> only about 2K of my front-end code, 65K lines of LLVM-IR)
>
>
> Using valgrind I see some functions which seem out of place and
> accounting for the vast majority of the time.
>
> 5.72%; 635,008 Calls; llvm::PMTopLevelManager::findAnalysisPass(void
> const*) <cycle 4>
>
> 4.54%; 3,722,489 Calls; llvm::PMDataManager::findAnalysisPass(void
> const*, bool)'2
>
> 4.11%; 4,604,499 Calls; bool
> llvm::DenseMapBase<>::LookupBucketFor<>(void const* const&,
> llvm::detail::DenseMapPair&l...
2018 May 06
1
Slow IR compilation/JIT, profiling points to LLVM?
...of postgres linked against debug LLVM w/
> assertions, and the optimized build against an optimized LLVM wo/
> assertions (albeit with symbols).
I've tried a builld with assertions off and it has only a relatively
minor impact (a 10% drop in time spent in LLVM). The instruction cound
for `findAnalysisPass` is gone, but the things like `AddInteger` are
still called millions of times.
Given the number of IR instructions (at most 65K since a 65K IR file),
the millions of calls to the Add, and FindBucket functions seems wrong.
--
edA-qa mort-ora-y
http://mortoray.com/
Creator of the Leaf languag...
2009 Oct 21
0
[LLVMdev] Target data question
...39;t registered in the global registry,
>> getPassInfo() returns null.
>>
>> Now when you add a TargetData pass, it winds up in ImmutablePasses.
>> Any search through ImmutablePasses assumes that getPassInfo() for
>> every member returns something other than null. So findAnalysisPass
>> for *any* analysis pass can crash the system if the TargetData pass is
>> lurking in the list without being registered.
>>
>> Since we want to be able to run opt without a TargetData pass, this
>> will never do. If TargetData is registered globally, any
>> f...
2011 May 30
1
[LLVMdev] Segfault when trying to schedule custom ImmutablePass
...larEvolution tries to get TargetData if available. Below is the
complete stack trace:
#0 0x083ae6fd in std::vector<llvm::PassInfo const*,
std::allocator<llvm::PassInfo const*> >::begin (this=0x10) at
/usr/include/c++/4.4/bits/stl_vector.h:435
#1 0x083a63c8 in llvm::PMTopLevelManager::findAnalysisPass
(this=0x85f6ad4, AID=0x85eef30) at
/home/michael/LunarGLASS/LLVM/llvm-2.9/lib/VMCore/PassManager.cpp:673
#2 0x083a7f0e in llvm::PMDataManager::findAnalysisPass
(this=0x88931b8, AID=0x85eef30, SearchParent=true) at
/home/michael/LunarGLASS/LLVM/llvm-2.9/lib/VMCore/PassManager.cpp:1062
#3 0x083a8b0...
2011 Dec 14
2
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
...goes round this for as long as I've
left it for (several minutes) :
// Check other pass managers
for (SmallVectorImpl<PMDataManager *>::iterator
I = IndirectPassManagers.begin(),
E = IndirectPassManagers.end(); I != E; ++I)
if (Pass *P = (*I)->findAnalysisPass(AID, false))
return P;
This old post on the list :
http://old.nabble.com/Array-Dependence-Analysis-td16073995.html says
that "Loop passes can use function passes, but not visaversa."
so as far as I can tell this should be OK.
Am I doing something wrong? (perhaps ordering of...
2008 Oct 28
1
[LLVMdev] Requiring a ModulePass to be run from a FunctionPass
Hi,
I have a FunctionPass that requires a ModulePass using addRequiredById().
When I start opt it infloops somewhere in PMDataManager::findAnalysisPass.
Should I open a bug, or is this a known issue (i.e. I am doing something
wrong)? Is there a workaround?
My modulepass just assigns unique numbers to basicblocks (like
StableBasicBlockNumbering, but unique per Module)
I could do that with a functionpass too, but they are not allowed to
retain st...
2018 May 05
0
Slow IR compilation/JIT, profiling points to LLVM?
...(Note: by slow I mean about 3s of time for
> only about 2K of my front-end code, 65K lines of LLVM-IR)
>
>
> Using valgrind I see some functions which seem out of place and
> accounting for the vast majority of the time.
>
> 5.72%; 635,008 Calls; llvm::PMTopLevelManager::findAnalysisPass(void
> const*) <cycle 4>
>
> 4.54%; 3,722,489 Calls; llvm::PMDataManager::findAnalysisPass(void
> const*, bool)'2
> I'm reasonably certain I'm compiling LLVM in optimized mode, but for
> reference, this is my build line:
>
> cmake .. -DCMAKE_BUIL...
2007 Apr 25
2
[LLVMdev] ModulePass that requires FunctionPass
...-hello3 -o new.bc
opt((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::MPPass...
2011 Dec 14
0
[LLVMdev] Adding dependency on MemoryDependenceAnalysis pass to LICM causes opt to get stuck in addPass
...I've
> left it for (several minutes) :
>
> // Check other pass managers
> for (SmallVectorImpl<PMDataManager *>::iterator
> I = IndirectPassManagers.begin(),
> E = IndirectPassManagers.end(); I != E; ++I)
> if (Pass *P = (*I)->findAnalysisPass(AID, false))
> return P;
>
Do you see a repeated pattern of pass sequence the pass manager is trying to handle ? P->getPassName() is handy.
-
Devang
> This old post on the list :
> http://old.nabble.com/Array-Dependence-Analysis-td16073995.html says
> that "Loop p...
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...y::getPassInfo(void const*) const
+ 0.54% caching_compile libc.so.6 [.] __memset_sse2
+ 0.53% caching_compile caching_compiler_test [.] (anonymous namespace)::VectorLegalizer::LegalizeOp(llvm::SDValue)
+ 0.47% caching_compile caching_compiler_test [.] llvm::PMDataManager::findAnalysisPass(void const*, bool)
-------------- next part --------------
diff --git a/llvm/llvm.svnrev.170375/include/llvm/PassSupport.h b/llvm/llvm.svnrev.170375/include/llvm/PassSupport.h
index 3633f47..44b4d56 100644
--- a/llvm/llvm.svnrev.170375/include/llvm/PassSupport.h
+++ b/llvm/llvm.svnrev.170375/includ...
2018 May 05
2
Slow IR compilation/JIT, profiling points to LLVM?
On 05/05/18 17:58, Andres Freund wrote:
> You're building LLVM with assertions enabled
> (-DLLVM_ENABLE_ASSERTIONS=ON).
> Some of those are fairly expensive...
>
Is there another way to get LLVM to check the correctness of my IR
without the assertions? That's what I'm assuming I need the flag for
(it's been a long time since I experimented with it)
If there is no way
2018 May 05
0
Slow IR compilation/JIT, profiling points to LLVM?
Hi,
On 2018-05-06 00:19:42 +0200, edA-qa mort-ora-y wrote:
> On 05/05/18 17:58, Andres Freund wrote:
> > You're building LLVM with assertions enabled
> > (-DLLVM_ENABLE_ASSERTIONS=ON).
> > Some of those are fairly expensive...
> >
>
> Is there another way to get LLVM to check the correctness of my IR
> without the assertions? That's what I'm
2013 Jul 14
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
On Sun, Jul 14, 2013 at 10:17 AM, Star Tan <tanmx_star at yeah.net> wrote:
> Hi Sebastian,
>
> Yes, you have pointed an important reason. If we comment this source code
> you have listed, then the compile-time overhead for oggenc*8.ll can be
> reduced from 40.5261 ( 51.2%) to 20.3100 ( 35.7%).
>
> I just sent another mail to explain why polly-detect pass leads to
>
2013 Jul 14
2
[LLVMdev] Analysis of polly-detect overhead in oggenc
Hi Sebastian,
Yes, you have pointed an important reason. If we comment this source code you have listed, then the compile-time overhead for oggenc*8.ll can be reduced from 40.5261 ( 51.2%) to 20.3100 ( 35.7%).
I just sent another mail to explain why polly-detect pass leads to significant compile-time overhead. Besides the reason you have pointed, another reason is resulted from those string