[LLVMdev] Pool Allocation Segfaulting with opt

John Criswell criswell at cs.uiuc.edu
Tue Jul 7 07:18:02 PDT 2009

Patrick Alexander Simmons wrote:
> John Criswell wrote:
>> You can use the -debug-pass=Arguments option to opt to print out which
>> DSA passes it is using.
>> -- John T.
> The argument list was this: -dsa-local -dsa-stdlib -dsa-bu -dsa-eqtd 
> -poolalloc -preverify -domtree -verify
> So, the last DSA pass done would appear to have been "-dsa-eqtd".  Does 
> this mean pool allocation is using TDeq and not BUeq as I'd thought? 
That is correct.  By default, the Automatic Pool Allocation (APA) pass
will choose eqtd because that is what we want it to use with SAFECode.

If you look at the PoolAllocate constructor, you'll notice a SAFECode
argument that defaults to true.  I believe setting it to false will
cause APA to use eq-bu results instead.

>  I 
> notice that it's doing a BU pass right before it, so I guess that's 
> probably not right, but the source code says that the flag for BUeq is 
> "-dsa-eq", not "-dsa-eqtd", so I'm confused.
The EQTD pass requires the TD pass which requires the BU pass which
requires the local pass.  That is why you're seeing dsa-bu in the list.

-- John T.

> --Patrick
> _______________________________________________
> 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