Displaying 3 results from an estimated 3 matches for "addspillpoint".
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 myself??
The TargetInstrInfo class has methods storeRegToStackSlot and
loadRegFromStackSlot, however I'd...
2009 Oct 29
1
[LLVMdev] request for help writing a register allocator
...r message saying that I'm trying
to assign a physical register to a virtual register that's already been
mapped. If I don't call assignVirt2Phys then I get an abort with an error
message saying that some virtual register was not assigned a physical
register.
I've tried calling addSpillPoint and addRestorePoint for every instruction
that involves a virtual register, and also not calling those functions,
and I still get the same aborts.
I would very much appreciate any help!
Susan Horwitz
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