llvm-project/llvm/lib
Jeremy Morse d556eb7e27 [DebugInfo][InstrRef][NFC] Cache some PHI resolutions
Install a cache of DBG_INSTR_REF -> ValueIDNum resolutions, for scenarios
where the value has to be reconstructed from several DBG_PHIs. Whenever
this happens, it's because branch folding + tail duplication has messed
with the SSA form of the program, and we have to solve a mini SSA problem
to find the variable value. This is always called twice, so it makes sense
to cache the value.

This gives a ~0.5% geomean compile-time-performance improvement on CTMark.

Differential Revision: https://reviews.llvm.org/D118455
2022-02-02 12:21:28 +00:00
..
Analysis [LAA] Add Memory dependence remarks. 2022-02-02 12:07:51 +00:00
AsmParser [IR] Support ifuncs in opaque pointer mode 2022-01-27 13:01:33 +01:00
BinaryFormat AMDGPU {NFC}: Add code object v5 support and generate metadata for implicit kernel args 2022-01-31 18:07:47 -08:00
Bitcode [BitcodeWriter] Fix cases of some functions 2022-01-31 16:46:11 -08:00
Bitstream
CodeGen [DebugInfo][InstrRef][NFC] Cache some PHI resolutions 2022-02-02 12:21:28 +00:00
DWARFLinker Change namespace llvm::swift to namespace llvm::binaryformat because of clashes with the apple/llvm-project repository 2022-02-01 11:15:21 -08:00
DWP Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
DebugInfo [DebugInfo][DWARF][NFC] Refactor DWARFTypePrinter usages. Create functions to print type dies. 2022-01-14 16:19:08 +03:00
Debuginfod [llvm] Cleanup header dependencies in ADT and Support 2022-01-21 13:54:49 +01:00
Demangle [llvm] Remove unused headers in LLVMDemangle 2022-01-21 10:18:32 +01:00
ExecutionEngine [NFC][ORC][AArch64] use isInt<N> to replace fitsRangeSignedInt on aarch64 2022-01-26 23:26:31 +08:00
Extensions
FileCheck [FileCheck] Allow literal '['s before "[[var...]]" 2022-01-13 09:47:37 +00:00
Frontend [OpenMP] Use nullptr instead of NULL (NFC) 2022-01-30 12:32:59 -08:00
FuzzMutate [NFC] Remove uses of PointerType::getElementType() 2022-01-25 09:44:52 +01:00
Fuzzer
IR Add missing includes after LLVMCore header cleanup 2022-02-02 07:51:13 +01:00
IRReader
InterfaceStub [llvm] Remove redundant member initialization (NFC) 2022-01-07 17:45:09 -08:00
LTO Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
LineEditor [llvm] Use range-based for loops (NFC) 2021-12-09 09:37:29 -08:00
Linker [NFC] Replace some deprecated getAlignment() calls with getAlign() 2021-12-09 08:43:19 -08:00
MC Change namespace llvm::swift to namespace llvm::binaryformat because of clashes with the apple/llvm-project repository 2022-02-01 11:15:21 -08:00
MCA [MCA] Switching from conservatively guessing which instructions are 2022-01-11 13:50:14 -08:00
Object Change namespace llvm::swift to namespace llvm::binaryformat because of clashes with the apple/llvm-project repository 2022-02-01 11:15:21 -08:00
ObjectYAML AMDGPU {NFC}: Add code object v5 support and generate metadata for implicit kernel args 2022-01-31 18:07:47 -08:00
Option [llvm] Use range-based for loops (NFC) 2021-12-09 09:37:29 -08:00
Passes [PassBuilder] Add OpenMPOpt to default LTO pipeline 2022-01-31 23:11:43 -05:00
ProfileData [instrprof][NFC] Refactor out the common logic for getProfileKind. 2022-01-31 15:04:42 -08:00
Remarks Cleanup LLVMRemarks includes 2022-01-31 11:16:28 +01:00
Support [RISCV] Don't make it an error have Zve* and V at the same time. 2022-02-01 07:16:20 -08:00
TableGen Cleanup includes for LLVMTableGenGlobalISel 2022-01-28 11:50:50 +01:00
Target [DAG] SimplifyDemandedVectorElts - remove KnownZero/KnownUndef from DCI helper wrapper 2022-02-02 12:04:49 +00:00
Testing
TextAPI Cleanup LLVMTextAPI headers 2022-01-26 14:21:25 +01:00
ToolDrivers
Transforms Revert "[SLP]Alternate vectorization for cmp instructions." 2022-02-02 13:08:51 +01:00
WindowsManifest [llvm] Use nullptr instead of 0 (NFC) 2021-12-28 08:52:25 -08:00
XRay
CMakeLists.txt [llvm] [Debuginfo] Debuginfod client library. 2021-12-06 21:52:38 +00:00