[PGO] Extend the value profile buckets for mem op sizes.
authorHiroshi Yamauchi <yamauchi@google.com>
Mon, 3 Aug 2020 17:35:47 +0000 (10:35 -0700)
committerHiroshi Yamauchi <yamauchi@google.com>
Mon, 3 Aug 2020 18:04:32 +0000 (11:04 -0700)
commitf78f509c75861dc4e26f9a22ad12996bf8005a2e
tree5413406cbdd64ca7d2badb33998c2c1404b06d0e
parent39494d9c21bab3281e4af30578af10f37ea09470
[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]