diff options
author | Zequan Wu <zequanwu@google.com> | 2023-10-31 10:41:01 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-31 10:41:01 -0400 |
commit | 4b383d0af93136b80841fc140da0823dfc441dd4 (patch) | |
tree | 1038902b1f527884091f14a7cbbc6ebaba72c78a /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 4c01a58008055aa8a7ce6e1a770216cd86664711 (diff) | |
download | llvm-4b383d0af93136b80841fc140da0823dfc441dd4.zip llvm-4b383d0af93136b80841fc140da0823dfc441dd4.tar.gz llvm-4b383d0af93136b80841fc140da0823dfc441dd4.tar.bz2 |
[Profile] Refactor profile correlation. (#70712)
Refactor some code from https://github.com/llvm/llvm-project/pull/69493.
Rebase of https://github.com/llvm/llvm-project/pull/69656 on top of main
as it was messed up.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index f3ba38081..cf4983a 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -57,6 +57,7 @@ #include "llvm/MC/MCValue.h" #include "llvm/MC/SectionKind.h" #include "llvm/ProfileData/InstrProf.h" +#include "llvm/ProfileData/InstrProfCorrelator.h" #include "llvm/Support/Base64.h" #include "llvm/Support/Casting.h" #include "llvm/Support/CodeGen.h" @@ -71,6 +72,24 @@ using namespace llvm; using namespace dwarf; +namespace llvm { +// Deprecated. Use -profile-correlate=debug-info. +cl::opt<bool> DebugInfoCorrelate( + "debug-info-correlate", + cl::desc("Use debug info to correlate profiles (Deprecated). Use " + "-profile-correlate=debug-info instead."), + cl::init(false)); + +cl::opt<InstrProfCorrelator::ProfCorrelatorKind> ProfileCorrelate( + "profile-correlate", + cl::desc("Use debug info or binary file to correlate profiles."), + cl::init(InstrProfCorrelator::NONE), + cl::values(clEnumValN(InstrProfCorrelator::NONE, "", + "No profile correlation"), + clEnumValN(InstrProfCorrelator::DEBUG_INFO, "debug-info", + "Use debug info to correlate"))); +} // namespace llvm + static cl::opt<bool> JumpTableInFunctionSection( "jumptable-in-function-section", cl::Hidden, cl::init(false), cl::desc("Putting Jump Table in function section")); |