[BOLT][NFC] Rename profile-use-pseudo-probes
The flag currently controls writing of probe information in YAML profile. #99891 adds a separate flag to use probe information for stale profile matching. Thus `profile-use-pseudo-probes` becomes a misnomer and `profile-write-pseudo-probes` better captures the intent. Reviewers: maksfb, WenleiHe, ayermolo, rafaelauler, dcci Reviewed By: rafaelauler Pull Request: https://github.com/llvm/llvm-project/pull/106364
This commit is contained in:
@@ -88,7 +88,7 @@ MaxSamples("max-samples",
|
||||
cl::cat(AggregatorCategory));
|
||||
|
||||
extern cl::opt<opts::ProfileFormatKind> ProfileFormat;
|
||||
extern cl::opt<bool> ProfileUsePseudoProbes;
|
||||
extern cl::opt<bool> ProfileWritePseudoProbes;
|
||||
extern cl::opt<std::string> SaveProfile;
|
||||
|
||||
cl::opt<bool> ReadPreAggregated(
|
||||
@@ -2300,7 +2300,7 @@ std::error_code DataAggregator::writeBATYAML(BinaryContext &BC,
|
||||
yaml::bolt::BinaryProfile BP;
|
||||
|
||||
const MCPseudoProbeDecoder *PseudoProbeDecoder =
|
||||
opts::ProfileUsePseudoProbes ? BC.getPseudoProbeDecoder() : nullptr;
|
||||
opts::ProfileWritePseudoProbes ? BC.getPseudoProbeDecoder() : nullptr;
|
||||
|
||||
// Fill out the header info.
|
||||
BP.Header.Version = 1;
|
||||
|
||||
@@ -49,11 +49,6 @@ llvm::cl::opt<bool>
|
||||
llvm::cl::opt<bool> ProfileUseDFS("profile-use-dfs",
|
||||
cl::desc("use DFS order for YAML profile"),
|
||||
cl::Hidden, cl::cat(BoltOptCategory));
|
||||
|
||||
llvm::cl::opt<bool> ProfileUsePseudoProbes(
|
||||
"profile-use-pseudo-probes",
|
||||
cl::desc("Use pseudo probes for profile generation and matching"),
|
||||
cl::Hidden, cl::cat(BoltOptCategory));
|
||||
} // namespace opts
|
||||
|
||||
namespace llvm {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "bolt/Profile/DataAggregator.h"
|
||||
#include "bolt/Profile/ProfileReaderBase.h"
|
||||
#include "bolt/Rewrite/RewriteInstance.h"
|
||||
#include "bolt/Utils/CommandLineOpts.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
@@ -21,8 +22,12 @@
|
||||
#define DEBUG_TYPE "bolt-prof"
|
||||
|
||||
namespace opts {
|
||||
extern llvm::cl::opt<bool> ProfileUseDFS;
|
||||
extern llvm::cl::opt<bool> ProfileUsePseudoProbes;
|
||||
using namespace llvm;
|
||||
extern cl::opt<bool> ProfileUseDFS;
|
||||
cl::opt<bool> ProfileWritePseudoProbes(
|
||||
"profile-write-pseudo-probes",
|
||||
cl::desc("Use pseudo probes in profile generation"), cl::Hidden,
|
||||
cl::cat(BoltOptCategory));
|
||||
} // namespace opts
|
||||
|
||||
namespace llvm {
|
||||
@@ -59,7 +64,7 @@ YAMLProfileWriter::convert(const BinaryFunction &BF, bool UseDFS,
|
||||
yaml::bolt::BinaryFunctionProfile YamlBF;
|
||||
const BinaryContext &BC = BF.getBinaryContext();
|
||||
const MCPseudoProbeDecoder *PseudoProbeDecoder =
|
||||
opts::ProfileUsePseudoProbes ? BC.getPseudoProbeDecoder() : nullptr;
|
||||
opts::ProfileWritePseudoProbes ? BC.getPseudoProbeDecoder() : nullptr;
|
||||
|
||||
const uint16_t LBRProfile = BF.getProfileFlags() & BinaryFunction::PF_LBR;
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ static cl::opt<PrintPseudoProbesOptions> PrintPseudoProbes(
|
||||
clEnumValN(PPP_All, "all", "enable all debugging printout")),
|
||||
cl::Hidden, cl::cat(BoltCategory));
|
||||
|
||||
extern cl::opt<bool> ProfileUsePseudoProbes;
|
||||
extern cl::opt<bool> ProfileWritePseudoProbes;
|
||||
} // namespace opts
|
||||
|
||||
namespace {
|
||||
@@ -91,14 +91,14 @@ public:
|
||||
};
|
||||
|
||||
Error PseudoProbeRewriter::preCFGInitializer() {
|
||||
if (opts::ProfileUsePseudoProbes)
|
||||
if (opts::ProfileWritePseudoProbes)
|
||||
parsePseudoProbe();
|
||||
|
||||
return Error::success();
|
||||
}
|
||||
|
||||
Error PseudoProbeRewriter::postEmitFinalizer() {
|
||||
if (!opts::ProfileUsePseudoProbes)
|
||||
if (!opts::ProfileWritePseudoProbes)
|
||||
parsePseudoProbe();
|
||||
updatePseudoProbes();
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
# PREAGG: B X:0 #main# 1 0
|
||||
## Check pseudo-probes in regular YAML profile (non-BOLTed binary)
|
||||
# RUN: link_fdata %s %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin %t.preagg PREAGG
|
||||
# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml -o %t.fdata --profile-use-pseudo-probes
|
||||
# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml -o %t.fdata --profile-write-pseudo-probes
|
||||
# RUN: FileCheck --input-file %t.yaml %s --check-prefix CHECK-YAML
|
||||
## Check pseudo-probes in BAT YAML profile (BOLTed binary)
|
||||
# RUN: link_fdata %s %t.bolt %t.preagg2 PREAGG
|
||||
# RUN: perf2bolt %t.bolt -p %t.preagg2 --pa -w %t.yaml2 -o %t.fdata2 --profile-use-pseudo-probes
|
||||
# RUN: perf2bolt %t.bolt -p %t.preagg2 --pa -w %t.yaml2 -o %t.fdata2 --profile-write-pseudo-probes
|
||||
# RUN: FileCheck --input-file %t.yaml2 %s --check-prefix CHECK-YAML
|
||||
# CHECK-YAML: name: bar
|
||||
# CHECK-YAML: - bid: 0
|
||||
@@ -30,7 +30,7 @@
|
||||
# CHECK-YAML: guid: 0xDB956436E78DD5FA
|
||||
# CHECK-YAML: pseudo_probe_desc_hash: 0x10000FFFFFFFF
|
||||
#
|
||||
## Check that without --profile-use-pseudo-probes option, no pseudo probes are
|
||||
## Check that without --profile-write-pseudo-probes option, no pseudo probes are
|
||||
## generated
|
||||
# RUN: perf2bolt %S/../../../llvm/test/tools/llvm-profgen/Inputs/inline-cs-pseudoprobe.perfbin -p %t.preagg --pa -w %t.yaml -o %t.fdata
|
||||
# RUN: FileCheck --input-file %t.yaml %s --check-prefix CHECK-NO-OPT
|
||||
|
||||
Reference in New Issue
Block a user