[llvm-commits] [llvm] r141833 - in /llvm/trunk: include/llvm/InlineAsm.h lib/CodeGen/MachineInstr.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Thu Oct 13 09:56:13 PDT 2011
On Oct 13, 2011, at 12:32 AM, Duncan Sands wrote:
> Hi Jakob,
>
>> Encode register class constreaints in inline asm instructions.
>
> does this require changes to front-ends?
No, it doesn't.
The register classes are derived from the normal "r", "a" constraint strings by the target's getRegForInlineAsmConstraint().
This patch records the derived register class constraint explicitly in the INLINE_ASM MachineInstr. Previously, the derived register class was only remembered by the virtual register created for the operand.
The problem is that virtual registers can be further constrained when they are merged by coalescing or CSE. Then the original constraint is lost.
/jakob
More information about the llvm-commits
mailing list