Displaying 3 results from an estimated 3 matches for "omatch".
Did you mean:
match
2009 Oct 26
1
[LLVMdev] RegAllocSimple doesn't work
...bline();
bool
locate(c, pat, offset)
character c;
char * pat;
int offset;
{
int i;
bool flag;
flag = false;
i = offset + pat[offset];
while ((i > offset))
{
if (c == pat[i]) {
flag = true;
i = offset;
} else
i = i - 1;
}
return flag;
}
bool
omatch(lin, i, pat, j)
char* lin;
int *i;
char* pat;
int j;
{
char advance;
bool result;
advance = -1;
if ((lin[*i] == ENDSTR))
result = false;
else
{
if (!in_pat_set(pat[j]))
{
(void)fprintf(stdout, "in omatch: can't happen\n");
abort();
} el...
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