llvm-project/llvm/test/DebugInfo/MIR
Jeremy Morse e9641c911e [DebugInfo][InstrRef][2/4] Use subreg substitutions in LiveDebugValues
Added in 47c3fe2a22, we sometimes need to describe a variable value
substitution with a subregister qualifier, to say that "the value is the
lower 32 bits of this 64 bit register def" for example. That then needs
support during LiveDebugValues to interpret the subregister qualifiers,
which is what this patch adds.

Whenever we encounter a DBG_INSTR_REF and find its value by using a
substitution, collect any subregister qualifiers seen. Then, accumulate the
effects of the qualifiers to work out what offset and what size should be
extracted from the defined register. Finally, for the target ValueIDNum,
extract whatever subregister is in the correct position

Currently, describing a subregister field of a larger value that has been
spilt to the stack, is unimplemented.

Differential Revision: https://reviews.llvm.org/D88894
2021-07-01 13:07:16 +01:00
..
AArch64 CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
ARM CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
Hexagon [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
InstrRef [DebugInfo][InstrRef][2/4] Use subreg substitutions in LiveDebugValues 2021-07-01 13:07:16 +01:00
Mips CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
SystemZ [SystemZ] Separate LoZ ELF specifics in tablegen. 2021-02-17 16:11:58 -05:00
X86 [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
lit.local.cfg