DebugInfo: Ensure that all debug location scope chains from instructions within a...
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 7 Oct 2014 16:56:20 +0000 (16:56 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 7 Oct 2014 16:56:20 +0000 (16:56 +0000)
commit08942b98d75d754b5310c741434f0a3b9bf771d1
tree2fb9332ff275cf5cbf065f0a83588db55676df38
parent92f9736bafb008d9f3eee32f6bf60ac8ac881a2c
DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself.

Let me tell you a tale...

Originally committed in r211723 after discovering a nasty case of weird
scoping due to inlining, this was reverted in r211724 after it fired in
ASan/compiler-rt.

(minor diversion where I accidentally committed/reverted again in
r211871/r211873)

After further testing and fixing bugs in ArgumentPromotion (r211872) and
Inlining (r212065) it was recommitted in r212085. Reverted in r212089
after the sanitizer buildbots still showed problems.

Fixed another bug in ArgumentPromotion (r212128) found by this
assertion.

Recommitted in r212205, reverted in r212226 after it crashed some more
on sanitizer buildbots.

Fix clang some more in r212761.

Recommitted in r212776, reverted in r212793. ASan failures.
Recommitted in r213391, reverted in r213432, trying to reproduce flakey
ASan build failure.

Fixed bugs in r213805 (ArgPromo + DebugInfo), r213952
(LiveDebugVariables strips dbg_value intrinsics in functions not
described by debug info).

Recommitted in r214761, reverted in r214999, flakey failure on Windows
buildbot.

Fixed DeadArgElimination + DebugInfo bug in r219210.

Recommitting and hoping that's the last of it.

[That one burned down, fell over, then sank into the swamp.]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219215 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LexicalScopes.cpp
lib/IR/DebugInfo.cpp