Displaying 4 results from an estimated 4 matches for "phys_reg".
2016 May 09
2
Is it possible to avoid inserting spill/split code in certain instruction sequence in RA?
Hi all,
I am working on an out-of-tree target. I am wondering if it is possible to
force the register allocator (and/or spiller) to not break certain
instruction sequence.
For example:
phys_reg = MI1 vreg1
vreg 2 = MI2 phys_reg
Is there a way to tell RA/spiller not to insert COPY or spill between MI1
and MI2?
I am using greedy register allocator and inline spiller.
--
Regards,
Dongrui
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm...
2018 Apr 02
0
Mapping virtual registers to physical registers
...s live-in in appropriate basic blocks.
Also, you can only use physical registers in COPY instructions, either
as the source, or as the destination. You should not use non-reserved
physical registers directly in instructions. For example, you'd have
something like this:
%virt_reg0 = COPY $phys_reg
%virt_reg1 = some_instr %virt_reg0, ...
$phys_reg = COPY %virt_reg1
The functions "load/store from stack slot" are used for spills/restores.
They do exactly what their names suggest and they are not required to be
used (unless, of course, you want to generate a load/store).
In t...
2018 Apr 03
1
Mapping virtual registers to physical registers
...d as live-in in appropriate basic blocks.
Also, you can only use physical registers in COPY instructions, either as the source, or as the destination. You should not use non-reserved physical registers directly in instructions. For example, you'd have something like this:
%virt_reg0 = COPY $phys_reg
%virt_reg1 = some_instr %virt_reg0, ...
$phys_reg = COPY %virt_reg1
The functions "load/store from stack slot" are used for spills/restores.
They do exactly what their names suggest and they are not required to be used (unless, of course, you want to generate a load/store).
In th...
2018 Mar 29
4
Mapping virtual registers to physical registers
Hi,
In the context of MachineCode custom inserter, I'm trying to enforce the mapping of virtual register to a physical one.
According to the documentation https://llvm.org/docs/CodeGenerator.html#mapping-virtual-registers-to-physical-registers
There are two ways: the direct one and the indirect ones. The indirect ones refer VirtRegMap class that I've never found. So I tried the direct