Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Pool Allocation Questions"
2009 Jul 07
5
[LLVMdev] Stable release of pool allocation?
I've been attempting to write my pass (which depends on DSA and pool
allocation) against the SVN trunk of LLVM and the llvm-poolalloc
project. However, I was thinking it might be better to use the latest
stable releases of these codebases. I know that this is the 2.5 branch
for LLVM, but are there any stable releases of pool allocation? If so,
would there be any disadvantage to my
2009 Jul 04
2
[LLVMdev] Pool Allocation Segfaulting with opt
Hi,
I'm trying to run the pool allocation pass through opt, and I'm running
into problems. It segfaults frequently; for example, it does this when
the input is a simple Hello World program:
[simmon12 at apoc testcases]$ opt -load
/home/vadve/simmon12/llvm/llvm/projects/llvm-poolalloc/Debug/lib/libLLVMDataStructure.so
-load
2009 Jun 19
2
[LLVMdev] Pool Allocation and DSA
On Thursday 11 June 2009 18:14:08 John Criswell wrote:
> If your use of pool allocation requires that you can always get the pool
> handle for a pointer, you need to make sure that pool allocation is
> configured so that it doesn't generate the above scenario. I think
> there is an option to make all pools be global pools.
Some time ago, I used AnalysisUsage's
2010 Mar 16
4
[LLVMdev] Getting the DSNode from a Pool Descriptor?
I figure (hopefully correctly) that I can iterate over all pool
descriptors in a program by iterating over all users of poolinit and
looking at the first argument. However, once I have a pool descriptor,
I need to get its corresponding DSNode in the function in which it is
complete (or in the global graph if it is a global). How do I do this?
Thanks,
--Patrick
2009 Jun 19
0
[LLVMdev] Pool Allocation and DSA (and: Re: DSA Question)
Torvald Riegel wrote:
> On Thursday 11 June 2009 18:14:08 John Criswell wrote:
>
>> If your use of pool allocation requires that you can always get the pool
>> handle for a pointer, you need to make sure that pool allocation is
>> configured so that it doesn't generate the above scenario. I think
>> there is an option to make all pools be global pools.
2009 Jul 07
0
[LLVMdev] Stable release of pool allocation?
Patrick Alexander Simmons wrote:
> I've been attempting to write my pass (which depends on DSA and pool
> allocation) against the SVN trunk of LLVM and the llvm-poolalloc
> project. However, I was thinking it might be better to use the latest
> stable releases of these codebases. I know that this is the 2.5 branch
> for LLVM, but are there any stable releases of pool
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Thanks for all your help so far.
My problem is that what I have are the pool descriptors, which I by
traversing the uses of poolinit and accessing the first argument of each
call. I need to find the DSNode (in the original function) to which
this pool descriptor corresponds. The rub is that this pool descriptor
of course does not exist except in the clone.
If I call getFuncInfo(), I get a
2009 Jul 06
0
[LLVMdev] Pool Allocation Segfaulting with opt
Patrick Alexander Simmons wrote:
> Hi,
>
> I'm trying to run the pool allocation pass through opt, and I'm running
> into problems. It segfaults frequently; for example, it does this when
> the input is a simple Hello World program:
>
Can you email me the bitcode file that is causing the problem?
> [simmon12 at apoc testcases]$ opt -load
>
2009 Aug 07
2
[LLVMdev] DSA getNodeForValue() Returning NULL Sometimes
Andrew Lenharth wrote:
> On Fri, Aug 7, 2009 at 4:45 PM, Patrick Alexander
> Simmons<simmon12 at cs.uiuc.edu> wrote:
>
>> I'm iterating over all LoadInst and StoreInst-type Instructions in a
>> Function, and getNodeForValue() is sometimes returning NULL. Why is
>> this happening? Shouldn't every load from or store to memory correspond
>> to some
2009 Jun 02
1
[LLVMdev] Including / Linking with Pool Allocation
Hi,
I'm starting to code a pass which uses the analysis results of pool
allocation, and I've run into a bit of a snag. Following the advice at
[http://llvm.org/docs/WritingAnLLVMPass.html], I've put my new pass in
the lib/Transforms subdirectory of the llvm checkout. I have the pool
allocation transformation checked out in projects/llvm-poolalloc.
My problem is that the pool
2010 Mar 17
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
On Tue, Mar 16, 2010 at 3:46 PM, Patrick Alexander Simmons
<simmon12 at cs.uiuc.edu> wrote:
> I figure (hopefully correctly) that I can iterate over all pool
> descriptors in a program by iterating over all users of poolinit and
> looking at the first argument. However, once I have a pool descriptor,
> I need to get its corresponding DSNode in the function in which it is
>
2010 Mar 17
1
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Depending on the value of dsa_pass_to_use, either EquivBUDataStructures
or EQTDDataStructures is used. In the case that the top-down DSA is
used, information is pushed down to nodes in callees. However,
if bottom-up DSA is used, information has only been merged upwards and
the nodes are not necessarily equivalent.
Harmen
Andrew Lenharth wrote:
> On Tue, Mar 16, 2010 at 3:46 PM, Patrick
2009 Jun 10
2
[LLVMdev] Pool Allocation and DSA
Thank you, and I apologize for conflating the two passes.
My main remaining concern is about what happens when there is a node in
a function's DSGraph that points to a pool (or pools, if there are
multiple callers) that is not in the DSGraph of that function. For
example, on page 3 of the 2005 PLDI paper, the DSGraph given for
createnode(), Data is pointing to an unlabeled node in the
2009 Jul 07
1
[LLVMdev] Stable release of pool allocation?
Not sure if anybody has noticed:
The PoolAlloc release source code extracted from SVN won't even build.
I tried it last night, on WinXP/Cygwin, for both the LLVM-2.5 release,
as well as the latest LLVM, neither would build -- with compile-time errors.
With that being said, I have no idea which LLVM release the current
PoolAlloc trunk is checked in with.
Could anybody point this out?
Or, at
2009 Jun 08
2
[LLVMdev] Pool Allocation and DSA
I don't really have a specific question, but, as I've been looking
through pool allocation and the DS graphs extensively, I wanted to
verify that my understanding of the representations used is correct.
Therefore, I'm summarizing my understanding below (which, if it's
correct, may hopefully be helpful to others). I would appreciate if
someone who understands pool allocation
2009 Jul 06
1
[LLVMdev] Pool Allocation Segfaulting with opt
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
2010 Mar 01
1
[LLVMdev] LLVM and Pool Allocation with PARSEC?
Has anyone ever used pool allocation on PARSEC? If not, has anyone ever
compiled PARSEC to whole-program LLVM bytecode executables?
If you have done either of these things, would you please email me your
.bldconf files?
Thanks,
--Patrick
2010 Mar 19
1
[LLVMdev] Getting the DSNode from a Pool Descriptor?
On 03/19/10 08:56, John Criswell wrote:
> Patrick Simmons wrote:
>> Thanks for all your help so far.
>>
>> My problem is that what I have are the pool descriptors, which I by
>> traversing the uses of poolinit and accessing the first argument of
>> each call. I need to find the DSNode (in the original function) to
>> which this pool descriptor
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Harmen, your suggestion of inverting the mapping almost worked (and
Andrew was correct that the function I need is the same as the one in
which poolinit appears). Unfortunately, it appears that this mapping
only considers the original function and not any of its clones. Since
the pool descriptor in question may very well only exist in a clone, I
can't use this. Is there another way?
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
Hi Patrick,
That's right. DSNodes are coupled to the original function. For function clones, you first need
to get the original function, and then use the DSNode from that function. FuncInfo
contains the information if a function is a clone and what the original function is.
If you want to find the corresponding DSNode for some instruction, you must call
PA::FuncInfo::MapValueToOriginal(