search for: poolinit

Displaying 14 results from an estimated 14 matches for "poolinit".

Did you mean: pooling
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 corresponds. The rub is that this pool >> descriptor of course does not exist except in the clone. > > One way to do this might be to...
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
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 NULL pointer. getFuncInfoOrClone(...
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
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 corresponds. The rub is that this pool descriptor > of course does not exist except in the clone. > One way to do this might be to search for a...
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? Thanks, --Patrick Harmen van der Spek wrote: > You...
2010 Mar 17
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
You might want to have a look at PoolAllocate.h. Per function, a PA::FuncInfo structure keeps track of all DSNodes that should be pool allocated. ArgNodes contains pool arguments, NodesToPA contains nodes that are locally pool allocated and thus initialized using poolinit. PoolDescriptors contains a mapping from DSNodes to pool descriptors, and you could easily invert this mapping. Finding a corresponding DSNode which is complete is not uniquely determined. For example, if a function F uses a pool, but its DSNode is incomplete, it might be called from two differe...
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 > complete (or in the global graph if it is a global).  How do I do this? How is different than the function in which the poolinit appears...
2010 Mar 17
1
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...cessarily equivalent. Harmen Andrew Lenharth wrote: > 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 >> complete (or in the global graph if it is a global). How do I do this? > > How is different than the function in which...
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...nyway, this was just a thought, I've not really tried anything like that. Harmen On Mar 19, 2010, at 9:14 AM, Patrick Alexander Simmons wrote: > 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? > > Thanks, > --Patrick > > Harmen van der...
2005 Apr 03
1
[LLVMdev] Running Pool Allocated programs
Thanks Chris! That was causing me some confusion. Now it's producing a more meaningful output: poolinit((&l2_GlobalPool), 4u, 4u); poolinit((&l2_GlobalPool1), 4u, 4u); l5_tmp_2E_0_2E_i = poolalloc((&l2_GlobalPool), 4u); l6_tmp_2E_7_2E_i2 = l1_makeList((&l2_GlobalPool1), 0); *(&((struct l_struct_2E_list *)l5_tmp_2E_0_2E_i)->field0) = l6_tmp_2E_7_2E_i2; However, if I am...
2005 Apr 03
2
[LLVMdev] Running Pool Allocated programs
...2E_i2; #if defined(__GNUC__) && !defined(__llvm__) #if defined(i386) || defined(__i386__) || defined(__i386) {short FPCW;__asm__ ("fnstcw %0" : "=m" (*&FPCW)); FPCW=(FPCW&~0x300)|0x200;__asm__("fldcw %0" :: "m" (*&FPCW));} #endif #endif poolinit((&l2_GlobalPool), 4u, 4u); ltmp_2_5 = malloc(4u); l6_tmp_2E_7_2E_i2 = l1_makeList((&l2_GlobalPool), 8); *(&((struct l_struct_2E_list *)ltmp_2_5)->field0) = l6_tmp_2E_7_2E_i2; return ((int )/*UNDEF*/0); } ========================== My question is: why is this malloc necessary...
2005 Apr 03
0
[LLVMdev] Running Pool Allocated programs
On Sat, 2 Apr 2005, Ricardo wrote: > After applying the PA to it, the output is something like this: ... > My question is: why is this malloc necessary? > ltmp_2_5 = malloc(4u); > Shouldn't be the result a program with this malloc replaced by poolalloc? > Should I include a special flag to achieve this? Ah, sorry, my memory was wrong. The default is to perform the
2005 Apr 02
0
[LLVMdev] Running Pool Allocated programs
On Sat, 2 Apr 2005, Ricardo wrote: > Hello, > I am trying to run a program optimized with the Pool Allocation, but I am receiving this error: > > ==================== > > *** 4 DYNAMIC POOLS INITIALIZED *** > > *** 4 DYNAMIC POOLS ALLOCATED FROM *** > > MaxHeapSize = 0.062500KB HeapSizeAtExit = 0.062500KB NOTE: only valid if using > Heuristic=AllPools and no
2005 Apr 02
2
[LLVMdev] Running Pool Allocated programs
Hello, I am trying to run a program optimized with the Pool Allocation, but I am receiving this error: ==================== libpoolalloc.so: undefined symbol: _ZTIN4llvm16EquivClassGraphsE -load request ignored. *** 4 DYNAMIC POOLS INITIALIZED *** *** 4 DYNAMIC POOLS ALLOCATED FROM *** MaxHeapSize = 0.062500KB HeapSizeAtExit = 0.062500KB NOTE: only valid if using Heuristic=AllPools and no