llvm-6502/lib/CodeGen/AsmPrinter
Duncan P. N. Exon Smith ca3b3d5e2c AsmPrinter: Stop creating DebugLocs
While looking at a heap profile of a clang LTO bootstrap with -g, I
noticed that 2.2% of memory in an `llvm-lto` of clang is from calling
`DebugLoc::get()` in `collectVariableInfo()` (accounting for ~40% of
memory used for `MDLocation`s).

I suspect this was introduced by r226736, whose goal was to prevent
uniquing of `DebugLoc`s (goal achieved, if so).

There's no reason we need a `DebugLoc` here at all -- it was just being
used for (in)convenient API -- so the fix is to pass the scope and
inlined-at directly to `LexicalScopes::findInlinedScope()`.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229459 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-17 00:02:27 +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
ARMException.cpp Use MMI->getPersonality() instead of MMI->getPersonalities()[MMI->getPersonalityIndex()] 2015-01-14 22:47:54 +00:00
AsmPrinter.cpp Revert "On ELF, put PIC jump tables in a non executable section." 2015-02-14 01:16:54 +00:00
AsmPrinterDwarf.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
AsmPrinterHandler.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AsmPrinterInlineAsm.cpp Move DataLayout back to the TargetMachine from TargetSubtargetInfo 2015-01-26 19:03:15 +00:00
ByteStreamer.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
CMakeLists.txt Debug info: Factor out the creation of DWARF expressions from AsmPrinter 2015-01-12 22:19:22 +00:00
DbgValueHistoryCalculator.cpp DbgValueHistoryCalculator: Store modified registers in a BitVector instead of std::set. 2014-10-06 15:31:04 +00:00
DbgValueHistoryCalculator.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
DebugLocEntry.h Debug info: Use DW_OP_bit_piece instead of DW_OP_piece in the 2015-02-09 23:57:15 +00:00
DebugLocList.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DIE.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DIEHash.cpp Make DIE.h a public CodeGen header. 2015-01-05 21:29:41 +00:00
DIEHash.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DwarfAccelTable.cpp Make DIE.h a public CodeGen header. 2015-01-05 21:29:41 +00:00
DwarfAccelTable.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
DwarfCFIException.cpp Classify functions by EH personality type rather than using the triple 2015-01-23 18:49:01 +00:00
DwarfCompileUnit.cpp Debug Info: Support variables that are described by more than one MMI 2015-02-10 23:18:28 +00:00
DwarfCompileUnit.h Remove support for DIVariable's FlagIndirectVariable and expect 2015-01-19 17:57:29 +00:00
DwarfDebug.cpp AsmPrinter: Stop creating DebugLocs 2015-02-17 00:02:27 +00:00
DwarfDebug.h Debug Info: Support variables that are described by more than one MMI 2015-02-10 23:18:28 +00:00
DwarfException.h CodeGen: split out the Win64Exception emitter 2014-09-01 23:48:34 +00:00
DwarfExpression.cpp Debug info: Use DW_OP_bit_piece instead of DW_OP_piece in the 2015-02-09 23:57:15 +00:00
DwarfExpression.h Fix indentation. 2015-02-10 23:18:15 +00:00
DwarfFile.cpp Debug Info: Support variables that are described by more than one MMI 2015-02-10 23:18:28 +00:00
DwarfFile.h Debug Info: Support variables that are described by more than one MMI 2015-02-10 23:18:28 +00:00
DwarfStringPool.cpp Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
DwarfStringPool.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DwarfUnit.cpp Add more DWARF 5 language constants. 2015-02-07 06:35:30 +00:00
DwarfUnit.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
EHStreamer.cpp Classify functions by EH personality type rather than using the triple 2015-01-23 18:49:01 +00:00
EHStreamer.h CodeGen support for x86_64 SEH catch handlers in LLVM 2015-01-14 01:05:27 +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 Unify the two EH personality classification routines I wrote 2015-02-14 00:21:02 +00:00
Win64Exception.h CodeGen support for x86_64 SEH catch handlers in LLVM 2015-01-14 01:05:27 +00:00
WinCodeViewLineTables.cpp Temporary fix for PR21528 - use mangled C++ function names in COFF debug info to un-break ASan on Windows 2014-11-12 20:21:20 +00:00
WinCodeViewLineTables.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00