Displaying 3 results from an estimated 3 matches for "escjunk".
2009 Oct 26
1
[LLVMdev] RegAllocSimple doesn't work
...')
result = NEWLINE;
else
if (s[*i] == 't')
result = TAB;
else
result = s[*i];
}
return result;
}
void change();
void
dodash(delim, src, i, dest, j, maxset)
char delim;
char *src;
int *i;
char *dest;
int *j;
int maxset;
{
int k;
bool junk;
char escjunk;
while ((src[*i] != delim) && (src[*i] != ENDSTR))
{
if (src[*i - 1] == ESCAPE) {
escjunk = esc(src, i);
junk = addstr(escjunk, dest, j, maxset);
} else
if (src[*i] != DASH)
junk = addstr(src[*i], dest, j, maxset);
else if (*j <= 1 || src[*i + 1] == END...
2009 Oct 22
0
[LLVMdev] request for help writing a register allocator
Hi Susan,
> But this doesn't seem to be happening; the stores to memory are there but
> the loads are not.
>
> Any ideas what's going wrong?
Are you using VirtRegMap::addSpillPoint and VirtRegMap::addRestorePoint ? If
not you may need to add calls to them to let the rewriter know where to
insert the loads/stores.
> If not, any advice on how to generate the loads
2009 Oct 22
4
[LLVMdev] request for help writing a register allocator
I found the problem! My generated code is spilling correctly but is not
reloading at all. For example, if the original code has the equivalent of
this (where %1024 is a virtual reg):
%1024 = xxx
...
yyy = %1024
and I find no physical register for %1024, then I assign it to physical
register %edi and to a stackslot. That creates code like this:
%edi = xxx
store from %edi to the