[LLVMdev] poolallocation error

Prakash Prabhu prakash.prabhu at gmail.com
Wed Jan 21 11:13:45 PST 2009


Hi John,

Thanks for the fix! It is working properly now :) :

$ opt -load /home/pprabhu/llvm/llvm-install-x86-64/lib/libLLVMDataStructure.so
-stats -ds-aa -ipconstprop < prog.bc
WARNING: You're attempting to print out a bitcode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bitcode first-hand, you
can force output with the `-f' option.

===-------------------------------------------------------------------------===
                          ... Statistics Collected ...
===-------------------------------------------------------------------------===

  19        - Number of call nodes merged
  35        - Number of globals trivially removed
1040        - Number of nodes allocated
   2        - Number of nodes completely folded
 128        - Number of nodes removed by reachability
 128        - Number of nodes trivially removed
   1 dsa-bu - Maximum SCC Size in Call Graph
   1 dsa-bu - Number of 'actual' call edges
   1 dsa-bu - Number of graphs inlined
   1 td_dsa - Number of graphs inlined

thanks,
Prakash

On Wed, Jan 21, 2009 at 11:04 AM, John Criswell <criswell at cs.uiuc.edu> wrote:
> Dear Prakash,
>
> I believe I've fixed the problem you were having with ds-aa.  Please
> update your poolalloc tree, recompile, and let me know if it works.
>
> -- John T.
>
> Criswell, John T wrote:
>> [snip]
>>
>> ________________________________________
>> From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] On Behalf Of Prakash Prabhu [prakash.prabhu at gmail.com]
>> Sent: Friday, January 16, 2009 10:28 AM
>> To: LLVM Developers Mailing List
>> Subject: Re: [LLVMdev] poolallocation error
>>
>> Hi all,
>>
>> I too am getting this error for x86_64 when I am trying to use the
>> Data Structure Analysis ...I svn upped both the llvm main branch and
>> the poolalloc today in the morning and recompiled everything from
>> scratch :
>>
>> $ opt -load /home/pprabhu/llvm/llvm-install-x86-64/lib/libpoolalloc.so
>> -ds-aa < o.bc
>>
>> opt: /home/pprabhu/llvm/llvm/lib/VMCore/PassManager.cpp:1418: virtual
>> void llvm::MPPassManager::addLowerLevelRequiredPass(llvm::Pass*,
>> llvm::Pass*): Assertion `(P->getPotentialPassManagerType() <
>> RequiredPass->getPotentialPassManagerType()) && "Unable to handle Pass
>> that requires lower level Analysis pass"' failed.
>> 0   opt       0x0000000000a3fcd0
>> 1   opt       0x0000000000a40024
>> 2   libc.so.6 0x00007f9fc318a100
>> 3   libc.so.6 0x00007f9fc318a095 gsignal + 53
>> 4   libc.so.6 0x00007f9fc318baf0 abort + 272
>> 5   libc.so.6 0x00007f9fc31832df __assert_fail + 239
>> 6   opt       0x00000000009caeac
>> llvm::MPPassManager::addLowerLevelRequiredPass(llvm::Pass*,
>> llvm::Pass*) + 252
>> 7   opt       0x00000000009cbe53 llvm::PMDataManager::add(llvm::Pass*,
>> bool) + 899
>> 8   opt       0x00000000009cc296
>> llvm::ModulePass::assignPassManager(llvm::PMStack&,
>> llvm::PassManagerType) + 132
>> 9   opt       0x00000000009d5ff9
>> llvm::PassManagerImpl::addTopLevelPass(llvm::Pass*) + 227
>> 10  opt       0x00000000009cad7e
>> llvm::PMTopLevelManager::schedulePass(llvm::Pass*) + 500
>> 11  opt       0x00000000009d6118 llvm::PassManagerImpl::add(llvm::Pass*) + 36
>> 12  opt       0x00000000009cada7 llvm::PassManager::add(llvm::Pass*) + 33
>> 13  opt       0x00000000006e5cd3
>> 14  opt       0x00000000006e7a6d main + 3237
>> 15  libc.so.6 0x00007f9fc31761c4 __libc_start_main + 244
>> 16  opt       0x00000000006d7c19 __gxx_personality_v0 + 721
>> Aborted
>>
>>
>> Is there something that I am missing on the command line ? Does anyone
>> use DSA actively now ?
>>
>> Thanks for your time.
>>
>> - Prakash
>>
>> On Wed, Nov 19, 2008 at 8:59 AM, Mattias Holm <holm at liacs.nl> wrote:
>>
>>> Hi,
>>>
>>> I am trying to use the poolallocator. More specific, I am trying to
>>> play around with the pointer compression pass. Though, I get assertion
>>> failures for the pass dependencies.
>>>
>>> This is when it in PointerCompress::getAnalysisUsage tries to register
>>> the the BU pass as required. I.e. when
>>> AU.addRequired<CompleteBUDataStructures>(); is called.
>>>
>>>
>>> $ opt -f -load ~/Projects/llvmstuff/opt/poolalloc/lib/
>>> libpoolalloc.dylib -raiseallocs -poolalloc-passing-all-pools -
>>> pointercompress llist-noopt.bc -o llist-dp.bc
>>>
>>> Assertion failed: ((P->getPotentialPassManagerType() < RequiredPass-
>>>  >getPotentialPassManagerType()) && "Unable to handle Pass that
>>> requires lower level Analysis pass"), function
>>> addLowerLevelRequiredPass, file ~/Projects/llvmstuff/llvm/lib/VMCore/
>>> PassManager.cpp, line 1418.
>>>
>>> Any ideas what is going wrong here?
>>>
>>>
>>> /Mattias
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



More information about the llvm-dev mailing list