1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib
Dehao Chen a2cdd9ac6d Add sample PGO support to ThinLTO new pass manager.
Summary:
For SamplePGO + ThinLTO, because profile annotation is done twice at both PrepareForThinLTO pipeline and backend compiler, the following changes are needed at the PrepareForThinLTO phase to ensure the IR is not changed dramatically. Otherwise the profile annotation will be inaccurate in the backend compiler.

* disable hot-caller heuristic
* disable loop unrolling
* disable indirect call promotion

This will unblock the new PM testing for sample PGO (tools/clang/test/CodeGen/pgo-sample-thinlto-summary.c), which will be covered in another cfe patch.

Reviewers: chandlerc, tejohnson, davidxl

Reviewed By: tejohnson

Subscribers: sanjoy, mehdi_amini, Prazek, inglorion, llvm-commits

Differential Revision: https://reviews.llvm.org/D34895

llvm-svn: 307437
2017-07-07 20:53:10 +00:00
..
Analysis [DemandedBits] fix formatting; NFC 2017-07-07 14:39:26 +00:00
AsmParser
BinaryFormat Revert "Revert "Revert "Replace trivial use of external rc.exe by writing our own .res file.""" 2017-07-05 23:45:50 +00:00
Bitcode Bitcode: Include any strings added to the string table in the module hash. 2017-07-06 17:56:01 +00:00
CodeGen [DAGCombiner] use local variable to shorten code; NFCI 2017-07-07 19:34:42 +00:00
DebugInfo [PDB] More changes to bring lld PDBs to parity with MSVC. 2017-07-07 20:25:39 +00:00
Demangle
ExecutionEngine [ORC] Errorize the ORC APIs. 2017-07-07 02:59:13 +00:00
Fuzzer FuzzerUtilDarwin.cpp: We need to pass modifiable strings to posix_spawn 2017-07-07 18:53:24 +00:00
IR [SafepointIRVerifier] Avoid false positives in GC verifier for compare between pointers 2017-07-07 13:02:29 +00:00
IRReader
LineEditor
Linker
LTO [LTO] Fix the interaction between linker redefined symbols and ThinLTO 2017-07-06 19:58:26 +00:00
MC [WebAssembly] Support weak defined symbols 2017-07-07 02:01:29 +00:00
Object [WebAssembly] Support weak defined symbols 2017-07-07 02:01:29 +00:00
ObjectYAML [ObjectYAML] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-07-01 01:35:55 +00:00
Option [Bash-autocompletion] Show flags which has HelpText or GroupID 2017-07-05 02:36:32 +00:00
Passes Add sample PGO support to ThinLTO new pass manager. 2017-07-07 20:53:10 +00:00
ProfileData Prototype: Reduce llvm-profdata merge memory usage further 2017-07-06 19:00:12 +00:00
Support Update the Windows version of updateTripleOSVersion to account for 2017-07-07 10:08:52 +00:00
TableGen
Target [PPC CodeGen] Expand the bitreverse.i32 intrinsic. 2017-07-07 16:41:55 +00:00
Testing
ToolDrivers
Transforms [LoopUnrollRuntime] Support multiple exit blocks unrolling when prolog remainder generated 2017-07-07 20:12:32 +00:00
XRay
CMakeLists.txt
LLVMBuild.txt