1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib
Hongtao Yu 20454adfae [CSSPGO] Unblock optimizations with pseudo probe instrumentation.
The IR/MIR pseudo probe intrinsics don't get materialized into real machine instructions and therefore they don't incur runtime cost directly. However, they come with indirect cost by blocking certain optimizations. Some of the blocking are intentional (such as blocking code merge) for better counts quality while the others are accidental. This change unblocks perf-critical optimizations that do not affect counts quality. They include:

1. IR InstCombine, sinking load operation to shorten lifetimes.
2. MIR LiveRangeShrink, similar to #1
3. MIR TwoAddressInstructionPass, i.e, opeq transform
4. MIR function argument copy elision
5. IR stack protection. (though not perf-critical but nice to have).

Reviewed By: wmi

Differential Revision: https://reviews.llvm.org/D95982
2021-02-10 12:43:17 -08:00
..
Analysis [SCEV] Add a missing AssumptionCache parameter 2021-02-10 12:08:55 -08:00
AsmParser [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
BinaryFormat
Bitcode [ThinLTO] Add Visibility bits to GlobalValueSummary::GVFlags 2021-01-27 10:43:51 -08:00
Bitstream
CodeGen [CSSPGO] Unblock optimizations with pseudo probe instrumentation. 2021-02-10 12:43:17 -08:00
DebugInfo DebugInfo/Symbolize: Retrieve filename from the preceding STT_FILE for .symtab symbolization 2021-02-10 09:47:10 -08:00
Demangle [Demangle] Support demangling Swift calling convention in MS demangler. 2021-01-27 13:24:54 -08:00
DWARFLinker [dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations. 2021-01-31 16:34:10 +03:00
ExecutionEngine [ORC] Clear unused materializing info entries. 2021-02-02 17:47:32 +11:00
Extensions
FileCheck
Frontend [OpenMPIRBuilder] Implement collapseLoops. 2021-02-03 19:12:02 -06:00
Fuzzer
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
InterfaceStub [llvm-elfabi] Support ELF file that lacks .gnu.hash section 2021-01-26 12:31:52 -08:00
IR [CSSPGO] Unblock optimizations with pseudo probe instrumentation. 2021-02-10 12:43:17 -08:00
IRReader
LineEditor
Linker [llvm-link] Fix for an assertion when linking global with appending linkage 2021-01-23 00:10:42 -08:00
LTO Revert "[LTO] Use lto::backend for code generation." 2021-02-03 22:49:30 +00:00
MC [WebAssembly] Use data sections by default 2021-02-09 11:03:06 -08:00
MCA
Object [llvm-objdump] Support PLT decoding for aarch64_be 2021-02-08 08:50:26 -08:00
ObjectYAML [llvm-readobj] Add support for decoding FreeBSD ELF notes 2021-02-09 16:59:22 +00:00
Option [clang][cli] Command line round-trip for HeaderSearch options 2021-02-04 10:18:34 +01:00
Passes [opt][NewPM] Add a --print-passes flag to print all available passes 2021-02-10 11:22:12 -08:00
ProfileData [CSSPGO] Use merged base profile for hot threshold calculation 2021-02-05 17:51:00 -08:00
Remarks [llvm] Use append_range (NFC) 2021-01-27 23:25:41 -08:00
Support Fix deprecated usage of mallinfo 2021-02-10 13:53:57 +08:00
TableGen [TableGen] Fix anonymous record self-reference in foreach and multiclass 2021-02-01 10:59:07 -05:00
Target [RISCV] Remove superfluous semicolon. NFC 2021-02-10 11:20:29 -08:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI
ToolDrivers llvm-lib: Pull error printing code out of two functions 2021-01-26 19:13:30 -05:00
Transforms [CSSPGO] Unblock optimizations with pseudo probe instrumentation. 2021-02-10 12:43:17 -08:00
WindowsManifest
XRay
CMakeLists.txt