1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Teresa Johnson 553a8bb424 Fix update VP metadata after inlining for instrumentation PGO
Summary:
With instrumentation profiling, when updating the VP metadata after
an inline, VP metadata on the inlined copy was inadvertantly having
all counts zeroed out. This was causing indirect calls from code inlined
during the call step to be marked as cold in the ThinLTO summaries and
not imported.

The CallerBFI needs to be passed down so that the CallSiteCount can be
computed from the profile summary info. With Sample PGO this was working
since the count is extracted from the branch weight metadata on the
call being inlined (even before we stopped looking at metadata for
non-sample PGO in r302844 this largely wasn't working for instrumentation
PGO since only promoted indirect calls would be getting inlined and have
the metadata).

Added an instrumentation PGO test and renamed the sample PGO test.

Reviewers: danielcdh, eraman

Subscribers: mehdi_amini, llvm-commits

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

llvm-svn: 303574
2017-05-22 20:28:18 +00:00
..
Analysis [SCEV] Clarify behavior around max backedge taken count 2017-05-22 06:46:04 +00:00
AsmParser [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Bitcode [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
CodeGen Revert "Don't generate line&scope debug info for meta-instructions." 2017-05-22 18:50:12 +00:00
DebugInfo libDebugInfo/DWARF: Apply relocations for debug_addr addresses in object files 2017-05-22 07:02:47 +00:00
Demangle Revert r303375 "LLVM_FALLTHROUGH instead of fall-through comment." 2017-05-18 20:18:24 +00:00
ExecutionEngine [RuntimeDyld] Fix debug section relocation (pr20457) 2017-05-17 08:47:28 +00:00
Fuzzer [libFuzzer] fix tests on Windows 2017-05-15 22:55:00 +00:00
IR [DataLayout] Add llvm_unreachable to the default of a nested switch statement that covers all values given to it by the outer switch. NFC 2017-05-22 19:28:36 +00:00
IRReader
LineEditor
Linker [ThinLTO] Do not assert when adding a module with a different but 2017-05-18 03:52:29 +00:00
LTO Revert "Revert "ThinLTO: Verify bitcode before lauching the ThinLTOCodeGenerator."" 2017-05-20 00:00:08 +00:00
MC Re-apply r302416: [ARM] Clear the constant pool cache on explicit .ltorg directives 2017-05-22 09:42:07 +00:00
Object COFF: Fix another StringRef return error 2017-05-20 21:54:15 +00:00
ObjectYAML [WebAssembly] Fix build error in wasm YAML code 2017-05-10 00:14:04 +00:00
Option ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
Passes [PartialInlining] Add internal options to enable partial inlining in pass pipeline (off by default) 2017-05-22 16:41:57 +00:00
ProfileData Change sample profile writer to make it deterministic. 2017-05-11 23:43:44 +00:00
Support Added LLVM_FALLTHROUGH to address gcc warning: this statement may fall through. 2017-05-19 21:08:28 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [Hexagon] Fix definitions of vector predicate loads and stores 2017-05-22 20:02:53 +00:00
ToolDrivers Add missing files 2017-05-13 22:10:13 +00:00
Transforms Fix update VP metadata after inlining for instrumentation PGO 2017-05-22 20:28:18 +00:00
XRay [XRay][lib] Support and temporarily skip over CustomEvent records 2017-05-12 01:06:41 +00:00
CMakeLists.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00
LLVMBuild.txt Move lib/LibDriver -> lib/ToolDrivers/llvm-lib. NFCI. 2017-05-13 22:06:46 +00:00