[SampleFDO] New hierarchical discriminator for FS SampleFDO (llvm-profdata part)
authorRong Xu <xur@google.com>
Fri, 4 Jun 2021 18:02:11 +0000 (11:02 -0700)
committerRong Xu <xur@google.com>
Fri, 4 Jun 2021 18:22:06 +0000 (11:22 -0700)
commit8d581857d77129b5a63515ca6794bba88418e0fd
tree5e428ea2671395d3d6299f8c170cfd8d5545f34f
parentdfecbcae0d6434fa1daafe66ba5d90f816d4268b
[SampleFDO] New hierarchical discriminator for FS SampleFDO (llvm-profdata part)

This patch was split from https://reviews.llvm.org/D102246
[SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO
This is for llvm-profdata part of change. It sets the bit masks for the
profile reader in llvm-profdata. Also add an internal option
"-fs-discriminator-pass" for show and merge command to process the profile
offline.

This patch also moved setDiscriminatorMaskedBitFrom() to
SampleProfileReader::create() to simplify the interface.

Differential Revision: https://reviews.llvm.org/D103550
llvm/include/llvm/ProfileData/SampleProfReader.h
llvm/include/llvm/Support/Discriminator.h
llvm/lib/ProfileData/SampleProfReader.cpp
llvm/lib/Target/X86/X86InsertPrefetch.cpp
llvm/lib/Transforms/IPO/SampleProfile.cpp
llvm/test/tools/llvm-profdata/Inputs/sample-fs.proftext [new file with mode: 0644]
llvm/test/tools/llvm-profdata/sample-fs.test [new file with mode: 0644]
llvm/tools/llvm-profdata/llvm-profdata.cpp
llvm/unittests/ProfileData/SampleProfTest.cpp