teak-llvm/llvm/lib/CodeGen/AsmPrinter
Vedant Kumar 1ee84e5ab2 [DebugInfo] Allow spill slots in call site parameter descriptions
Allow call site paramter descriptions to reference spill slots. Spill
slots are not visible to high-level LLVM IR, so they can safely be
referenced during entry value evaluation (as they cannot be clobbered by
some other function).

This gives a 5% increase in the number of call site parameter DIEs in an
LTO x86_64 build of the xnu kernel.

This reverts commit eb4c98ca3d (
[DebugInfo] Exclude memory location values as parameter entry values),
effectively reintroducing the portion of D60716 which dealt with memory
locations (authored by Djordje, Nikola, Ananth, and Ivan).

This partially addresses llvm.org/PR43343. However, not all memory
operands forwarded to callees live in spill slots. In the xnu build, it
may be possible to use an escape analysis to increase the number of call
site parameter by another 15% (more details in PR43343).

Differential Revision: https://reviews.llvm.org/D70254
2019-11-14 12:48:51 -08:00
..
AccelTable.cpp [CodeGen] AccelTable - remove non-constexpr (MSVC) Atom defs 2019-07-09 13:07:48 +00:00
AddressPool.cpp
AddressPool.h
ARMException.cpp
AsmPrinter.cpp NVPTX: Don't insert an extra empty line at the end of the last section. 2019-11-08 15:16:04 -08:00
AsmPrinterDwarf.cpp [AsmPrinter] Make the encoding of call sites in .gcc_except_table configurable and use for RISC-V 2019-07-17 14:00:35 +00:00
AsmPrinterInlineAsm.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
ByteStreamer.h [DebugInfo] Add interface for pre-calculating the size of emitted DWARF 2019-10-15 11:14:35 +00:00
CMakeLists.txt
CodeViewDebug.cpp Revert d91ed80 "[codeview] Reference types in type parent scopes" 2019-11-08 11:30:33 +01:00
CodeViewDebug.h Revert d91ed80 "[codeview] Reference types in type parent scopes" 2019-11-08 11:30:33 +01:00
DbgEntityHistoryCalculator.cpp [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
DebugHandlerBase.cpp Stop undef fragments from closing non-overlapping fragments 2019-05-28 13:23:25 +00:00
DebugLocEntry.h [DWARF] Handle the DW_OP_entry_value operand 2019-06-27 13:52:34 +00:00
DebugLocStream.cpp
DebugLocStream.h DebugInfo: Move loclist base address from DwarfFile to DebugLocStream 2019-10-17 23:02:19 +00:00
DIE.cpp [DebugInfo] Introduce DW_OP_LLVM_convert 2019-03-19 13:16:28 +00:00
DIEHash.cpp [DebugInfo] Introduce DW_OP_LLVM_convert 2019-03-19 13:16:28 +00:00
DIEHash.h
DIEHashAttributes.def
DwarfCFIException.cpp [cfi] Add flag to always generate .debug_frame 2019-10-31 09:48:30 +00:00
DwarfCompileUnit.cpp [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
DwarfCompileUnit.h [DWARF] Rename getDwarf5OrGNUCallSite{Attr,Tag}, NFC 2019-08-26 20:53:34 +00:00
DwarfDebug.cpp Fix typo in DwarfDebug [NFC] 2019-11-13 18:06:16 +01:00
DwarfDebug.h DebugInfo: Streamline debug_ranges/rnglists/rnglists.dwo emission code 2019-11-01 14:56:43 -07:00
DwarfException.h
DwarfExpression.cpp [DebugInfo] Allow spill slots in call site parameter descriptions 2019-11-14 12:48:51 -08:00
DwarfExpression.h [DebugInfo] Add a DW_OP_LLVM_entry_value operation 2019-10-15 11:31:21 +00:00
DwarfFile.cpp
DwarfFile.h DebugInfo: Move loclist base address from DwarfFile to DebugLocStream 2019-10-17 23:02:19 +00:00
DwarfStringPool.cpp
DwarfStringPool.h
DwarfUnit.cpp [DWARF5] Added support for deleted C++ special member functions. 2019-10-29 13:44:06 -07:00
DwarfUnit.h DebugInfo: Move loclist base address from DwarfFile to DebugLocStream 2019-10-17 23:02:19 +00:00
EHStreamer.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
EHStreamer.h
ErlangGCPrinter.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
LLVMBuild.txt [Remarks] Add string deduplication using a string table 2019-04-24 00:06:24 +00:00
OcamlGCPrinter.cpp [Alignment][NFC] Remove unneeded llvm:: scoping on Align types 2019-09-27 12:54:21 +00:00
WasmException.cpp
WasmException.h
WinCFGuard.cpp [WinCFG] Handle constant casts carefully in .gfids emission 2019-11-01 13:32:03 -07:00
WinCFGuard.h Add Windows Control Flow Guard checks (/guard:cf). 2019-10-28 15:19:39 +00:00
WinException.cpp WinException::emitExceptHandlerTable - silence static analyzer dyn_cast<Function> null dereference warning. NFCI. 2019-10-02 11:48:32 +00:00
WinException.h [AArch64][Windows] Compute function length correctly in unwind tables. 2019-05-03 00:10:45 +00:00