Displaying 9 results from an estimated 9 matches for "hvdspek".
2009 May 29
1
[LLVMdev] DSA nodes do not get merged
...malloc(sizeof(list));
Result->X = 1;
Result->Next = malloc(sizeof(list));
Result = Result->Next;
Result->X = 2;
Result->Next = 0;
}
int main()
{
MakeList();
return 0;
}
---------
You can view the corresponding DSGraph here:
http://www.liacs.nl/~hvdspek/images/dsgraph_1node.png
The following code produces 2 DSNodes:
-------------
typedef struct list {
int X;
struct list *Next;
} list;
void
MakeList()
{
list *Result = malloc(sizeof(list));
Result->X = 1;
Result->Next = malloc(sizeof(list));
Result->Ne...
2009 Nov 20
1
[LLVMdev] getExitBlocks returns duplicates in result vector
Hi,
LoopBase::getExitBlocks in LoopInfo.h returns all exit basic blocks by
iterating over all blocks of a loop and storing all branch targets
that are outside the loop. This method allows for duplicates in the
result vector, e.g.:
Loop at depth 2 containing: %bb2<header><exit>,%bb1<latch>,%bb3<exit>
where both bb2 and bb3 have bb4 as their exit block.
This loop
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
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(
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?
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) ||
isa<VectorType>(Ty)) &&
2009 Mar 20
2
[LLVMdev] Garbage collection: Multiple copies of a root
Hi,
As far as I understand now, only stack variables can be marked as gc
roots. Our
compiler however can also generate roots that are not necessarily on
the stack.
We can solve this by putting it on the stack anyway. So far so good.
The problem is that we want to implement some sort of copying garbage
collector.
In this case, the roots on the stack must be updated. However, if
this root
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
2009 Nov 20
0
[LLVMdev] llvm code working on linux but not mac, 64 bit problem?
It runs fine on my Snow Leopard installation. I do recall though
that LLVM did not build in 64-bit mode automatically. I configured
LLVM as follows to get a 64-bit build.
./configure --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10
--target=x86_64-apple-darwin1
Harmen
Tommy Chheng wrote:
> Hi,
> Learning the ropes of LLVM. I have this simple LLVM assembly snippet
> which