Add a new wrapper node for a DILexicalBlock that encapsulates it and a
authorEric Christopher <echristo@apple.com>
Tue, 11 Oct 2011 22:59:11 +0000 (22:59 +0000)
committerEric Christopher <echristo@apple.com>
Tue, 11 Oct 2011 22:59:11 +0000 (22:59 +0000)
commit6618a241f7ba2571a1a55b3733c4441d467baf42
treeca10b111fbb600e6de43d2ece7b9b1550b2d0d8d
parent5ba7b501fd4b88e3fea590499e9464b4b2c153a4
Add a new wrapper node for a DILexicalBlock that encapsulates it and a
file. Since it should only be used when necessary propagate it through
the backend code generation and tweak testcases accordingly.

This helps with code like in clang's test/CodeGen/debug-info-line.c where
we have multiple #line directives within a single lexical block and want
to generate only a single block that contains each file change.

Part of rdar://10246360

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141729 91177308-0d34-0410-b5e6-96231b3b80d8
docs/SourceLevelDebugging.html
include/llvm/Analysis/DIBuilder.h
include/llvm/Analysis/DebugInfo.h
lib/Analysis/DIBuilder.cpp
lib/Analysis/DebugInfo.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/LexicalScopes.cpp
test/CodeGen/ARM/2009-10-16-Scope.ll
test/CodeGen/X86/2009-10-16-Scope.ll
test/DebugInfo/2010-01-05-DbgScope.ll