OSDN Git Service

[PGO] Extend the value profile buckets for mem op sizes.
authorHiroshi Yamauchi <yamauchi@google.com>
Tue, 2 Jun 2020 19:10:15 +0000 (12:10 -0700)
committerHiroshi Yamauchi <yamauchi@google.com>
Thu, 25 Jun 2020 17:22:56 +0000 (10:22 -0700)
commit63a89693f09f6b24ce4f2350d828150bd9c4f3e8
treeb6a06468cdbf1b6c58323adb785dd0cf1b8d6811
parent4df7d852afc04844184f0a02d3a3ca4449bbbc5f
[PGO] Extend the value profile buckets for mem op sizes.

Extend the memop value profile buckets to be more flexible (could accommodate a
mix of individual values and ranges) and to cover more value ranges (from 11 to
22 buckets).

Disabled behind a flag (to be enabled separately) and the existing code to be
removed later.

Differential Revision: https://reviews.llvm.org/D81682
12 files changed:
compiler-rt/include/profile/InstrProfData.inc
compiler-rt/lib/profile/InstrProfilingValue.c
llvm/include/llvm/ProfileData/InstrProf.h
llvm/include/llvm/ProfileData/InstrProfData.inc
llvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
llvm/lib/ProfileData/InstrProf.cpp
llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
llvm/test/Transforms/PGOProfile/memcpy.ll
llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll
llvm/unittests/ProfileData/CMakeLists.txt
llvm/unittests/ProfileData/InstrProfDataTest.cpp [new file with mode: 0644]