]> granicus.if.org Git - llvm/commit
[DEBUGINFO] Reposting r352642: Handle restore instructions in LiveDebugValues
authorWolfgang Pieb <Wolfgang.Pieb@sony.com>
Mon, 4 Feb 2019 20:42:45 +0000 (20:42 +0000)
committerWolfgang Pieb <Wolfgang.Pieb@sony.com>
Mon, 4 Feb 2019 20:42:45 +0000 (20:42 +0000)
commit2260299d7e2f6e97bf284e84f49b984fc7c0ead0
treeb9389799b81e222b8897ff5e3f8190b0a796c7b2
parent6186e8e51b1d7e76a68ec60a1620f6b4e844f0b3
[DEBUGINFO] Reposting r352642: Handle restore instructions in LiveDebugValues

The LiveDebugValues pass recognizes spills but not restores, which can
cause large gaps in location information for some variables, depending
on control flow. This patch make LiveDebugValues recognize restores and
generate appropriate DBG_VALUE instructions.

This patch was posted previously with r352642 and reverted in r352666 due
to buildbot errors. A missing return statement was the cause for the
failures.

Reviewers: aprantl, NicolaPrica

Differential Revision: https://reviews.llvm.org/D57271

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353089 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineInstr.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/LiveDebugValues.cpp
lib/CodeGen/MachineInstr.cpp
test/DebugInfo/MIR/X86/live-debug-values-restore.mir [new file with mode: 0644]