[all-commits] [llvm/llvm-project] a0a3a9: [DebugInfo] Fix multi-byte entry values in call si...
David via All-commits
all-commits at lists.llvm.org
Wed Mar 18 05:23:39 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a0a3a9c5a83192254eae442654e65dd3eb724713
https://github.com/llvm/llvm-project/commit/a0a3a9c5a83192254eae442654e65dd3eb724713
Author: David Stenberg <david.stenberg at ericsson.com>
Date: 2020-03-18 (Wed, 18 Mar 2020)
Changed paths:
M llvm/include/llvm/CodeGen/DIE.h
A llvm/test/DebugInfo/AArch64/dbgcall-site-float-entry-value.ll
Log Message:
-----------
[DebugInfo] Fix multi-byte entry values in call site values
Summary:
In D67768/D67492 I added support for entry values having blocks larger
than one byte, but I now noticed that the DIE implementation I added there
was broken. The takeNodes() function, that moves the entry value block
from a temporary buffer to the output buffer, would destroy the input
iterator when transferring the first node, meaning that only that node
was moved.
In practice, this meant that when emitting a call site value using a
DW_OP_entry_value operation with a DWARF register number larger than 31,
that multi-byte DW_OP_regx expression would be truncated.
Reviewers: djtodoro, aprantl, vsk
Reviewed By: djtodoro
Subscribers: llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D76279
More information about the All-commits
mailing list