1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib
Hiroshi Yamauchi 1295ae3ffe [PGO] Fix two issues in PGOMemOPSizeOpt.
1. PGOMemOPSizeOpt grabs only the first, up to five (by default) entries from
the value profile metadata and preserves the remaining entries for the fallback
memop call site. If there are more than five entries, the rest of the entries
would get dropped. This is fine for PGOMemOPSizeOpt itself as it only promotes
up to 3 (by default) values, but potentially not for other downstream passes
that may use the value profile metadata.

2. PGOMemOPSizeOpt originally assumed that only values 0 through 8 are kept
track of. When the range buckets were introduced, it was changed to skip the
range buckets, but since it does not grab all entries (only five), if some range
buckets exist in the first five entries, it could potentially cause fewer
promotion opportunities (eg. if 4 out of 5 were range buckets, it may be able to
promote up to one non-range bucket, as opposed to 3.) Also, combined with 1, it
means that wrong entries may be preserved, as it didn't correctly keep track of
which were entries were skipped.

To fix this, PGOMemOPSizeOpt now grabs all the entries (up to the maximum number
of value profile buckets), keeps track of which entries were skipped, and
preserves all the remaining entries.

Differential Revision: https://reviews.llvm.org/D97592
2021-03-11 09:53:05 -08:00
..
Analysis Reapply [LICM] Make promotion faster 2021-03-11 10:50:28 +01:00
AsmParser [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
BinaryFormat [WebAssembly] Add new relocation for location relative data 2021-03-08 11:34:10 -08:00
Bitcode [DebugInfo] Support DIArgList in DbgVariableIntrinsic 2021-03-08 14:36:13 +00:00
Bitstream
CodeGen [ValueTypes][RISCV] Add MVT for v1f16. 2021-03-11 09:23:18 -08:00
DebugInfo Re-land "[PDB] Defer relocating .debug$S until commit time and parallelize it" 2021-03-10 15:14:09 -08:00
Demangle [Demangle] Support demangling Swift calling convention in MS demangler. 2021-01-27 13:24:54 -08:00
DWARFLinker [llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule 2021-02-27 10:14:39 +03:00
ExecutionEngine [Orc] Deallocate debug objects explicitly when destroying the DebugObjectManagerPlugin 2021-03-11 15:26:16 +01:00
Extensions
FileCheck [FileCheck] Fix naming of OverflowErrorStr var 2021-03-11 10:31:04 +00:00
Frontend [OpaquePtrs] Remove some uses of type-less CreateLoad APIs (NFC) 2021-03-11 14:40:57 +01:00
Fuzzer
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
InterfaceStub [elfabi] Fix a bug when .dynsym contains no non-local symbol 2021-02-19 11:36:53 -08:00
IR Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
IRReader
LineEditor
Linker [llvm-link] fix IRMover returning wrong modified vector type 2021-02-22 11:29:42 +00:00
LTO llvm-lto: default Relocation Model should be selected by the TargetMachine. 2021-03-10 17:31:26 -05:00
MC [MC][ELF] Fix "enumeral and non-enumeral type in conditional expression" warning (NFC) 2021-03-10 11:27:15 +08:00
MCA [MCA] Support in-order CPUs with MicroOpBufferSize=1 2021-03-11 10:12:54 +00:00
Object [llvm-objcopy][NFC] replace class Buffer/MemBuffer/FileBuffer with streams. 2021-03-10 23:50:04 +03:00
ObjectYAML Read NumBlocks as uint64_t. 2021-03-08 16:46:13 -08:00
Option [clang][cli] NFC: Remove ArgList infrastructure for recording queries 2021-02-25 13:53:24 +01:00
Passes Remove original implementation of UniqueInternalLinkageNames pass. 2021-03-10 11:57:40 -08:00
ProfileData [SampleFDO] Support enabling -funique-internal-linkage-name. 2021-03-09 21:41:40 -08:00
Remarks Add intrinsics_gen as a dependency of libRemarks 2021-03-08 14:17:27 -08:00
Support Save and restore previous terminal after setting the terminal for checking if terminal supports colors. 2021-03-11 10:47:06 +01:00
TableGen [TableGen] Use range-based for loops (NFC) 2021-03-06 15:52:55 -08:00
Target [RISCV] Handle vmv.x.s intrinsic for i64 vectors on RV32. 2021-03-11 09:39:50 -08:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI [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 llvm-lib: Pull error printing code out of two functions 2021-01-26 19:13:30 -05:00
Transforms [PGO] Fix two issues in PGOMemOPSizeOpt. 2021-03-11 09:53:05 -08:00
WindowsManifest
XRay
CMakeLists.txt