No code change here. Putting this up for review to make sure you agree with the comments as written here.
One question: Will value_regs ever contain more than a single value? Example:
x86-64:
value_regs(ah) = { rax, LLDB_INVALID_REGNUM }
value_regs(al) = { rax, LLDB_INVALID_REGNUM }
value_regs(ax) = { rax, LLDB_INVALID_REGNUM }
value_regs(eax) = { rax, LLDB_INVALID_REGNUM }
value_regs(rax) = nullptr
x86:
value_regs(ah) = { eax, LLDB_INVALID_REGNUM }
value_regs(al) = { eax, LLDB_INVALID_REGNUM }
value_regs(ax) = { eax, LLDB_INVALID_REGNUM }
value_regs(eax) = nullptr
When would value_regs ever contain more than one value?