OSDN Git Service

Re-land "[DebugInfo] Insert DW_OP_deref when spilling indirect DBG_VALUEs"
authorReid Kleckner <rnk@google.com>
Wed, 20 Sep 2017 18:19:08 +0000 (18:19 +0000)
committerReid Kleckner <rnk@google.com>
Wed, 20 Sep 2017 18:19:08 +0000 (18:19 +0000)
commitca18763385122e265cca239acdd3071f16e0ea8d
tree2460659b036f6827427fde22f15aa7e45f9e54c8
parente44429964bc9d12b7eb05a1c74b83e6650820fee
Re-land "[DebugInfo] Insert DW_OP_deref when spilling indirect DBG_VALUEs"

After r313775, it's easier to maintain a parallel BitVector of spilled
locations indexed by location number.

I wasn't able to build a good reduced test case for this iteration of
the bug, but I added a more direct assertion that spilled values must
use frame index locations. If this bug reappears, it won't only fire on
the NEON vector code that we detected it on, but on medium-sized
integer-only programs as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313786 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LiveDebugVariables.cpp
test/DebugInfo/X86/bbjoin.ll
test/DebugInfo/X86/spill-indirect-nrvo.ll [new file with mode: 0644]
test/DebugInfo/X86/spill-nontrivial-param.ll [new file with mode: 0644]
test/DebugInfo/X86/spill-nospill.ll [new file with mode: 0644]