[Debuginfo][SROA] Need to handle dbg.value in SROA pass.
authorAlexey Lapshin <a.v.lapshin@mail.ru>
Wed, 4 Sep 2019 14:19:49 +0000 (14:19 +0000)
committerAlexey Lapshin <a.v.lapshin@mail.ru>
Wed, 4 Sep 2019 14:19:49 +0000 (14:19 +0000)
commitcbf1f3b771c8c0e0858deafe5f9457fb838ff2c2
treef60ff2ffc03ce529663ed821dbb7c0ba2b687b6f
parentc86d47b6b6fbece30c5ef7232a72c0d0453837cb
[Debuginfo][SROA] Need to handle dbg.value in SROA pass.

SROA pass processes debug info incorrecly if applied twice.
Specifically, after SROA works first time, instcombine converts dbg.declare
intrinsics into dbg.value. Inlining creates new opportunities for SROA,
so it is called again. This time it does not handle correctly previously
inserted dbg.value intrinsics.

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

llvm-svn: 370906
llvm/lib/Transforms/Utils/Local.cpp
llvm/test/DebugInfo/X86/sroa-after-inlining.ll [new file with mode: 0644]
llvm/test/Transforms/InstCombine/lower-dbg-declare.ll
llvm/test/Transforms/Util/simplify-dbg-declare-load.ll