search for: transformfunctionbody

Displaying 8 results from an estimated 8 matches for "transformfunctionbody".

2009 Nov 13
1
[LLVMdev] Poolalloc asserts when passing in pool descriptors
Hi, The poolalloc library fails in TransformFunctionBody.cpp, line 746 --- Value *ArgVal = ConstantAggregateZero::get(PoolAllocate::PoolDescPtrTy); --- opt -load /path_to_lib/libpoolalloc.dylib -poolalloc constaggr.bc -o opt.bc -f triggers the problem (bc file attached). Assertion failed: ((isa<StructType>(Ty) || isa<ArrayType>(Ty) || i...
2010 Mar 17
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...if a function is cloned, so that its DSNodes are pool allocated, those DSNodes originate from a complete DSNode somewhere higher in the call chain. Per function, a pool-allocated version can be generated. After that, function calls are rewritten to call the pool allocated version. This is done in TransformFunctionBody.cpp. by calling TransformBody from PoolAllocate.cpp. Harmen Patrick Alexander Simmons 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 h...
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?
...hat its DSNodes > are pool allocated, those DSNodes originate from a complete DSNode > somewhere higher in the call chain. > > Per function, a pool-allocated version can be generated. After that, > function calls are rewritten to call the pool allocated version. This is > done in TransformFunctionBody.cpp. by calling TransformBody from > PoolAllocate.cpp. > > > > Harmen > > > > Patrick Alexander Simmons wrote: > >> I figure (hopefully correctly) that I can iterate over all pool >> descriptors in a program by iterating over all users of poolinit and...
2010 Mar 19
3
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...ool allocated, those DSNodes originate from a complete DSNode >>> somewhere higher in the call chain. >>> >>> Per function, a pool-allocated version can be generated. After that, >>> function calls are rewritten to call the pool allocated version. This is done in TransformFunctionBody.cpp. by calling TransformBody from PoolAllocate.cpp. >>> >>> >>> >>> Harmen >>> >>> >>> >>> Patrick Alexander Simmons wrote: >>> >>> >>>> I figure (hopefully correctly) that I can iterate o...
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...>> are pool allocated, those DSNodes originate from a complete DSNode >> somewhere higher in the call chain. >> >> Per function, a pool-allocated version can be generated. After that, >> function calls are rewritten to call the pool allocated version. This is done in TransformFunctionBody.cpp. by calling TransformBody from PoolAllocate.cpp. >> >> >> >> Harmen >> >> >> >> Patrick Alexander Simmons wrote: >> >>> I figure (hopefully correctly) that I can iterate over all pool descriptors in a program by iterating ov...
2011 Jan 26
1
[LLVMdev] [LLVMDEV]How could I get function name in this situation?
> On 1/26/11 3:06 PM, songlh at cs.wisc.edu wrote: >>> [snip] >>> -- John T. >> Sorry, I am asking the second question. >> " >> how to determine, within an LLVM pass, what the >> possible target(s) of an indirect function call might be? > > There are at least two solutions. > > The first is to use the CallGraph analysis pass. It
2010 Mar 19
0
[LLVMdev] Getting the DSNode from a Pool Descriptor?
...hose DSNodes originate from a complete DSNode >>>> somewhere higher in the call chain. >>>> >>>> Per function, a pool-allocated version can be generated. After that, >>>> function calls are rewritten to call the pool allocated version. This is done in TransformFunctionBody.cpp. by calling TransformBody from PoolAllocate.cpp. >>>> >>>> >>>> >>>> Harmen >>>> >>>> >>>> >>>> Patrick Alexander Simmons wrote: >>>> >>>> >>>> &g...