llvm-project/llvm/lib/CodeGen/AsmPrinter
Duncan P. N. Exon Smith 33af7a8f50 LexicalScopes: Use debug info hierarchy pervasively
Pervasively use the types provided by the debug info hierarchy rather
than `MDNode` in `LexicalScopes`.

I noticed (again, I guess, based on comments in the implementation?)
that `DILexicalBlockFile::getScope()` returns something different from
`DILexicalBlockFile::getContext()`.  I created a local helper for
getting the same logic from `MDLexicalBlockFile` called
`getScopeOfScope()`.  I still don't really understand it, but I've added
some FIXMEs and I'll come back to it (I suspect the way we encode these
objects isn't really ideal).

Note that my previous commit r233610 accidentally changed behaviour in
`findLexicalScope()` -- it transitioned from a call to
`DILexicalBlockFile::getScope()` to `MDLexicalBlockFile::getScope()`
(sounds right, doesn't it?) -- so I've fixed that as a drive-by.  No
tests failed with my error, so it looks like we're missing some coverage
here... when I come back to understand the logic, I'll see if I can add
some.

Other than the fix to `findLexicalScope()`, no functionality change.

llvm-svn: 233640
2015-03-30 23:21:21 +00:00
..
ARMException.cpp Move the EH symbol to the asm printer and use it for the SJLJ case too. 2015-03-17 13:57:48 +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 Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AsmPrinter.cpp Remove superfluous .str() and replace std::string concatenation with Twine. 2015-03-27 17:51:30 +00:00
AsmPrinterDwarf.cpp Store an optional section start label in MCSection. 2015-03-10 16:58:10 +00:00
AsmPrinterHandler.h Print jump tables before exception tables. 2015-03-09 18:29:12 +00:00
AsmPrinterInlineAsm.cpp [AsmPrinter] Use the per-function subtarget to emit inline asm instructions that 2015-03-16 18:02:16 +00:00
ByteStreamer.h Refactor DebugLocDWARFExpression so it doesn't require access to the 2015-03-02 22:02:33 +00:00
CMakeLists.txt Debug info: Factor out the creation of DWARF expressions from AsmPrinter 2015-01-12 22:19:22 +00:00
DIE.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
DIEHash.cpp Use read{16,32,64}{le,be}() instead of *reinterpret_cast<u{little,big}{16,32,64}_t>(). 2015-03-02 21:19:12 +00:00
DIEHash.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DbgValueHistoryCalculator.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
DbgValueHistoryCalculator.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
DebugLocEntry.h IR: Take advantage of -verify checks for MDExpression 2015-03-16 21:03:55 +00:00
DebugLocList.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DwarfAccelTable.cpp Centralize the handling of unique ids for temporary labels. 2015-03-17 20:07:06 +00:00
DwarfAccelTable.h Store an optional section start label in MCSection. 2015-03-10 16:58:10 +00:00
DwarfCFIException.cpp Move the EH symbol to the asm printer and use it for the SJLJ case too. 2015-03-17 13:57:48 +00:00
DwarfCompileUnit.cpp Centralize the handling of unique ids for temporary labels. 2015-03-17 20:07:06 +00:00
DwarfCompileUnit.h Store an optional section start label in MCSection. 2015-03-10 16:58:10 +00:00
DwarfDebug.cpp LexicalScopes: Use debug info hierarchy pervasively 2015-03-30 23:21:21 +00:00
DwarfDebug.h Centralize the handling of unique ids for temporary labels. 2015-03-17 20:07:06 +00:00
DwarfException.h Print jump tables before exception tables. 2015-03-09 18:29:12 +00:00
DwarfExpression.cpp Fix DwarfExpression::AddMachineRegExpression so it doesn't read past the 2015-03-04 17:39:33 +00:00
DwarfExpression.h Change the datatype of DwarfExpression::Emit(Un)Signed to (u)int64_t 2015-03-10 19:23:37 +00:00
DwarfFile.cpp Store an optional section start label in MCSection. 2015-03-10 16:58:10 +00:00
DwarfFile.h Store an optional section start label in MCSection. 2015-03-10 16:58:10 +00:00
DwarfStringPool.cpp Centralize the handling of unique ids for temporary labels. 2015-03-17 20:07:06 +00:00
DwarfStringPool.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DwarfUnit.cpp Change getISAEncoding to use the target triple to determine 2015-03-21 03:13:01 +00:00
DwarfUnit.h Emit correct linkage-name attribute based on DWARF version. 2015-03-10 22:44:45 +00:00
EHStreamer.cpp [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
EHStreamer.h [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
ErlangGCPrinter.cpp Compute the ELF SectionKind from the flags. 2015-01-29 17:33:21 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile
OcamlGCPrinter.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
Win64Exception.cpp [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
Win64Exception.h [WinEH] Run cleanup handlers when an exception is thrown 2015-03-30 22:58:10 +00:00
WinCodeViewLineTables.cpp CodeGen: Use the new DebugLoc API, NFC 2015-03-30 19:14:47 +00:00
WinCodeViewLineTables.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00