llvm-project/llvm/lib/CodeGen/AsmPrinter
David Blaikie 9b8c8cda0d Recommit r208506: DebugInfo: Include lexical scopes in inlined subroutines.
This was reverted in r208642 due to regressions surrounding file changes
within lexical scopes causing inlining information to be lost.

The issue was in LexicalScopes::getOrCreateInlinedScope, where I was
previously testing "isLexicalBlock" which is false for
"DILexicalBlockFile" (a scope used to represent changes in the current
file name) and assuming it was then a function (breaking out of the
inlined scope path and reaching for the parent non-inlined scopes). By
inverting the condition and testing for "isSubprogram" the correct
behavior is attained.

(also found some weirdness in Clang, see r208742 when reducing this test
case - the resulting test case doesn't apply with the Clang fix, but
I've added a more realistic test case to inline-scopes.ll which does
reproduce the issue and demonstrate the fix)

llvm-svn: 208748
2014-05-14 01:08:28 +00:00
..
ARMException.cpp Prepare support of Itanium ABI on ARM as opposed to EHABI by 2014-04-30 22:43:13 +00:00
AddressPool.cpp DWARF Type Units: Avoid emitting type units under fission if the type requires an address. 2014-04-26 17:27:38 +00:00
AddressPool.h AddressPool::HasBeenUsed: Add comment explaining the use-case for this flag. 2014-04-28 22:52:50 +00:00
AsmPrinter.cpp Split GlobalValue into GlobalValue and GlobalObject. 2014-05-13 18:45:48 +00:00
AsmPrinterDwarf.cpp Clarify the doxygen comment for AsmPrinter::EmitDwarfRegOpPiece and add 2014-04-27 18:50:45 +00:00
AsmPrinterHandler.h Remove weak vtables. No functional change. 2013-12-14 12:23:14 +00:00
AsmPrinterInlineAsm.cpp [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ByteStreamer.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
CMakeLists.txt Move logic for calculating DBG_VALUE history map into separate file/class. 2014-04-30 21:34:11 +00:00
DIE.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIE.h DIE: Document some learnings about why the world isn't perfect. 2014-04-28 22:41:39 +00:00
DIEHash.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIEHash.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
DbgValueHistoryCalculator.cpp Convert more loops to range-based equivalents 2014-04-30 22:17:38 +00:00
DbgValueHistoryCalculator.h Use a single data structure to store all user variables in DwarfDebug 2014-04-30 23:02:40 +00:00
DebugLocEntry.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
DebugLocList.h DebugInfo: Introduce DebugLocList to encapsulate a list of DebugLocEntries and an MC Label to refer to them 2014-04-02 01:43:18 +00:00
DwarfAccelTable.cpp DwarfAccelTable: Store the string symbol in the accelerator table to avoid duplicate lookup. 2014-04-25 22:21:35 +00:00
DwarfAccelTable.h Remove redundant explicit default initialization of non-trivially constructed member. 2014-04-27 14:47:23 +00:00
DwarfCFIException.cpp Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
DwarfDebug.cpp Recommit r208506: DebugInfo: Include lexical scopes in inlined subroutines. 2014-05-14 01:08:28 +00:00
DwarfDebug.h Use a single data structure to store all user variables in DwarfDebug 2014-04-30 23:02:40 +00:00
DwarfException.cpp Convert more loops to range-based equivalents 2014-04-30 22:17:38 +00:00
DwarfException.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
DwarfFile.cpp Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfFile.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfStringPool.cpp Make helper functions static. 2014-04-27 14:54:59 +00:00
DwarfStringPool.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfUnit.cpp CodeGen: add parenthesis around complex expression 2014-05-12 06:08:18 +00:00
DwarfUnit.h DwarfUnit: Pick a winner between isTypeSigned and isUnsignedDIType. 2014-05-11 16:08:41 +00:00
ErlangGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile
OcamlGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
Win64Exception.cpp Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
WinCodeViewLineTables.cpp Convert more loops to range-based equivalents 2014-04-30 22:17:38 +00:00
WinCodeViewLineTables.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00