]> granicus.if.org Git - llvm/commit
[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)
commitc4cdb2b38d8574e3c0f70066a3a59014d8b9f07d
treed724c1b0546bb6a08bede979a6d071c5424e11ee
parent0612445ccad23f460d87a0c5ad63692072318a92
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370906 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/Local.cpp
test/DebugInfo/X86/sroa-after-inlining.ll [new file with mode: 0644]
test/Transforms/InstCombine/lower-dbg-declare.ll
test/Transforms/Util/simplify-dbg-declare-load.ll