Displaying 4 results from an estimated 4 matches for "virtz".
Did you mean:
virt
2012 Dec 18
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
...loc fails with the following sequence:
1) directly assign the physreg in PTR RC to a virtX.
2) for a virtY which also belongs to the PTR RC, try to evict: call
canEvictInterference() for virtY which interferes with virtX, returns true.
evict and unassign virtX and assign physreg to virtY.
3) for a virtZ which also belongs to the PTR RC, try to evict: call
canEvictInterference() for virtZ which interferes with virtY, both
VirtReg.isSpillable() and Intf->isSpillable() return false, can't evict,
wait for a second round and queue new interval.
4) do some work unrelated to these vregs.
5) when s...
2012 Dec 17
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
On Dec 17, 2012, at 8:38 AM, Borja Ferrer <borja.ferav at gmail.com> wrote:
> Hello,
>
> I'm getting the "LLVM ERROR: ran out of registers during register allocation" error message for an out of tree target I'm developing. This is happening for the following piece of C code:
>
> struct ss
> {
> int a;
> int b;
> int c;
> };
> void
2012 Dec 19
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
...sequence:
>
> 1) directly assign the physreg in PTR RC to a virtX.
> 2) for a virtY which also belongs to the PTR RC, try to evict: call
> canEvictInterference() for virtY which interferes with virtX, returns true.
> evict and unassign virtX and assign physreg to virtY.
> 3) for a virtZ which also belongs to the PTR RC, try to evict: call
> canEvictInterference() for virtZ which interferes with virtY, both
> VirtReg.isSpillable() and Intf->isSpillable() return false, can't evict,
> wait for a second round and queue new interval.
> 4) do some work unrelated to th...
2012 Dec 17
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
Hello,
I'm getting the "LLVM ERROR: ran out of registers during register
allocation" error message for an out of tree target I'm developing. This is
happening for the following piece of C code:
struct ss
{
int a;
int b;
int c;
};
void loop(struct ss *x, struct ss **y, int z)
{
int i;
for (i=0; i<z; ++i)
{
x->c += y[i]->b;
}
}
The problem relies in