search for: phys_reg

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