1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/include/llvm
Hongtao Yu d0f29b816e [CSSPGO] Deduplicating dangling pseudo probes.
Same dangling probes are redundant since they all have the same semantic that is to rely on the counts inference tool to get reasonable count for the same original block. Therefore, there's no need to keep multiple copies of them. I've seen jump threading created tons of redundant dangling probes that slowed down the compiler dramatically. Other optimization passes can also result in redundant probes though without an observed impact so far.

This change removes block-wise redundant dangling probes specifically introduced by jump threading. To support removing redundant dangling probes caused by all other passes, a final function-wise deduplication is also added.

An 18% size win of the .pseudo_probe section was seen for SPEC2017. No performance difference was observed.

Differential Revision: https://reviews.llvm.org/D97482
2021-03-03 22:44:42 -08:00
..
ADT [llvm] Use set_is_subset (NFC) 2021-02-28 10:59:20 -08:00
Analysis [basicaa] Fix a latent bug in isGEPBaseAtNegativeOffset 2021-03-03 08:43:32 -08:00
AsmParser
BinaryFormat Add more historic DWARF vendor extensions 2021-02-25 15:09:42 -08:00
Bitcode [llvm][Bitcode] Add bitcode reader/writer for DSOLocalEquivalent 2021-02-22 10:37:57 -08:00
Bitstream [llvm] Use append_range (NFC) 2021-01-29 23:23:34 -08:00
CodeGen [CSSPGO] Unblocking optimizations by dangling pseudo probes. 2021-03-03 22:44:42 -08:00
Config [Timer] On macOS count number of executed instructions 2021-02-11 17:26:37 +01:00
DebugInfo [Symbolize] Teach symbolizer to work directly on object file. 2021-02-12 18:26:24 +00:00
Demangle [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -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] Add JITLink debug support plugin for ELF x86-64 2021-03-02 15:07:35 +01:00
FileCheck [FileCheck] Add a literal check directive modifier 2020-12-18 17:26:15 -08:00
Frontend [OpenMP] Implement '#pragma omp tile', by Michael Kruse (@Meinersbur). 2021-02-16 09:45:07 -08:00
FuzzMutate [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
InterfaceStub [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
IR [CSSPGO] Deduplicating dangling pseudo probes. 2021-03-03 22:44:42 -08:00
IRReader
LineEditor
Linker
LTO Recommit "[LTO] Use lto::backend for code generation." 2021-02-15 10:05:42 +00:00
MC [CSSPGO] Introducing dangling pseudo probes. 2021-03-03 22:44:41 -08:00
MCA [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
Object [llvm-objdump] Map STT_TLS to ST_Other (previously ST_Data) 2021-02-17 23:17:20 -08:00
ObjectYAML [obj2yaml,yaml2obj] Add NumBlocks to the BBAddrMapEntry yaml field. 2021-02-17 15:45:13 -08:00
Option [clang][cli] NFC: Rename marshalling multiclass 2021-03-02 11:53:40 +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] Introducing dangling pseudo probes. 2021-03-03 22:44:41 -08:00
Remarks [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
Support AArch64: report fp16 arithmetic is present for apple-a11 CPU. 2021-03-02 15:07:18 +00:00
TableGen Revert "[TableGen] Improve algorithms for processing template arguments" 2021-02-18 09:26:26 -05:00
Target [GlobalISel] Make more use of replaceSingleDefInstWithReg. NFC. 2021-02-23 17:08:34 +00:00
Testing/Support
TextAPI/MachO [lld-macho] Change loadReexport to handle the case where a TAPI re-exports to reference documents nested within other TBD. 2021-03-02 12:14:31 -05:00
ToolDrivers
Transforms [CSSPGO] Deduplicating dangling pseudo probes. 2021-03-03 22:44:42 -08:00
WindowsManifest [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
WindowsResource
XRay [llvm] Fix header guards (NFC) 2021-02-05 21:02:06 -08:00
CMakeLists.txt
InitializePasses.h Add ehcont section support 2021-02-15 14:27:12 +08:00
LinkAllIR.h
LinkAllPasses.h [ScalarizeMaskedMemIntrin] Add new PM support 2020-12-08 17:15:22 -05:00
module.extern.modulemap
module.install.modulemap
module.modulemap [modules] Put Frontend/OpenMP headers into a Clang module to fix the module build 2021-02-08 09:54:45 +01:00
module.modulemap.build
Pass.h [NFC] Rename ThinLTOPhase to ThinOrFullLTOPhase and move it from PassBuilder.h 2021-01-13 15:55:40 -08:00
PassAnalysisSupport.h [PM] Avoid duplicates in the Used/Preserved/Required sets 2021-01-20 13:55:18 +01:00
PassInfo.h
PassRegistry.h
PassSupport.h