From: Fangrui Song Date: Sun, 4 Dec 2022 19:06:47 +0000 (+0000) Subject: IR: HotnessThreshold llvm::Optional => std::optional X-Git-Tag: upstream/17.0.6~25392 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d43c3ba51fd7efe4ff7b9d86067c2563f639dab;p=platform%2Fupstream%2Fllvm.git IR: HotnessThreshold llvm::Optional => std::optional --- diff --git a/clang/include/clang/Basic/CodeGenOptions.h b/clang/include/clang/Basic/CodeGenOptions.h index 1379403..101e476 100644 --- a/clang/include/clang/Basic/CodeGenOptions.h +++ b/clang/include/clang/Basic/CodeGenOptions.h @@ -426,7 +426,7 @@ public: /// compilation. /// /// If threshold option is not specified, it is disabled by default. - Optional DiagnosticsHotnessThreshold = 0; + std::optional DiagnosticsHotnessThreshold = 0; /// The maximum percentage profiling weights can deviate from the expected /// values in order to be included in misexpect diagnostics. diff --git a/lld/ELF/Config.h b/lld/ELF/Config.h index 24975c1..fcbfcfc 100644 --- a/lld/ELF/Config.h +++ b/lld/ELF/Config.h @@ -154,7 +154,7 @@ struct Config { llvm::StringRef mapFile; llvm::StringRef outputFile; llvm::StringRef optRemarksFilename; - llvm::Optional optRemarksHotnessThreshold = 0; + std::optional optRemarksHotnessThreshold = 0; llvm::StringRef optRemarksPasses; llvm::StringRef optRemarksFormat; llvm::StringRef optStatsFilename; diff --git a/llvm/include/llvm/IR/LLVMContext.h b/llvm/include/llvm/IR/LLVMContext.h index a40158e..55c6869 100644 --- a/llvm/include/llvm/IR/LLVMContext.h +++ b/llvm/include/llvm/IR/LLVMContext.h @@ -222,7 +222,7 @@ public: /// Set the minimum hotness value a diagnostic needs in order to be /// included in optimization diagnostics. - void setDiagnosticsHotnessThreshold(Optional Threshold); + void setDiagnosticsHotnessThreshold(std::optional Threshold); /// Return if hotness threshold is requested from PSI. bool isDiagnosticsHotnessThresholdSetFromPSI() const; diff --git a/llvm/include/llvm/IR/LLVMRemarkStreamer.h b/llvm/include/llvm/IR/LLVMRemarkStreamer.h index 094ead2..7e78c4f 100644 --- a/llvm/include/llvm/IR/LLVMRemarkStreamer.h +++ b/llvm/include/llvm/IR/LLVMRemarkStreamer.h @@ -17,6 +17,7 @@ #include "llvm/Remarks/Remark.h" #include "llvm/Support/Error.h" #include +#include #include namespace llvm { @@ -85,7 +86,7 @@ Expected> setupLLVMOptimizationRemarks(LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold = 0); + std::optional RemarksHotnessThreshold = 0); /// Setup optimization remarks that output directly to a raw_ostream. /// \p OS is managed by the caller and should be open for writing as long as \p @@ -93,7 +94,7 @@ setupLLVMOptimizationRemarks(LLVMContext &Context, StringRef RemarksFilename, Error setupLLVMOptimizationRemarks( LLVMContext &Context, raw_ostream &OS, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold = 0); + std::optional RemarksHotnessThreshold = 0); } // end namespace llvm diff --git a/llvm/include/llvm/LTO/Config.h b/llvm/include/llvm/LTO/Config.h index 7cf837a..2dbe284 100644 --- a/llvm/include/llvm/LTO/Config.h +++ b/llvm/include/llvm/LTO/Config.h @@ -153,7 +153,7 @@ struct Config { /// compilation. /// /// If threshold option is not specified, it is disabled by default. - llvm::Optional RemarksHotnessThreshold = 0; + std::optional RemarksHotnessThreshold = 0; /// The format used for serializing remarks (default: YAML). std::string RemarksFormat; diff --git a/llvm/include/llvm/LTO/LTO.h b/llvm/include/llvm/LTO/LTO.h index ea52226..70d5af9 100644 --- a/llvm/include/llvm/LTO/LTO.h +++ b/llvm/include/llvm/LTO/LTO.h @@ -86,7 +86,7 @@ std::string getThinLTOOutputFile(const std::string &Path, Expected> setupLLVMOptimizationRemarks( LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold = 0, int Count = -1); + std::optional RemarksHotnessThreshold = 0, int Count = -1); /// Setups the output file for saving statistics. Expected> @@ -322,7 +322,7 @@ private: // The full set of bitcode modules in input order. ModuleMapType ModuleMap; // The bitcode modules to compile, if specified by the LTO Config. - Optional ModulesToCompile; + std::optional ModulesToCompile; DenseMap PrevailingModuleForGUID; } ThinLTO; @@ -415,7 +415,7 @@ private: mutable bool CalledGetMaxTasks = false; // Use Optional to distinguish false from not yet initialized. - Optional EnableSplitLTOUnit; + std::optional EnableSplitLTOUnit; // Identify symbols exported dynamically, and that therefore could be // referenced by a shared library not visible to the linker. diff --git a/llvm/include/llvm/Remarks/HotnessThresholdParser.h b/llvm/include/llvm/Remarks/HotnessThresholdParser.h index 14e708090..f78625c 100644 --- a/llvm/include/llvm/Remarks/HotnessThresholdParser.h +++ b/llvm/include/llvm/Remarks/HotnessThresholdParser.h @@ -15,8 +15,8 @@ #ifndef LLVM_REMARKS_HOTNESSTHRESHOLDPARSER_H #define LLVM_REMARKS_HOTNESSTHRESHOLDPARSER_H -#include "llvm/ADT/Optional.h" #include "llvm/Support/CommandLine.h" +#include namespace llvm { namespace remarks { @@ -28,7 +28,7 @@ namespace remarks { // // Return None Optional if 'auto' is specified, indicating the value will // be filled later during PSI. -inline Expected> parseHotnessThresholdOption(StringRef Arg) { +inline Expected> parseHotnessThresholdOption(StringRef Arg) { if (Arg == "auto") return std::nullopt; @@ -42,12 +42,12 @@ inline Expected> parseHotnessThresholdOption(StringRef Arg) { } // A simple CL parser for '*-remarks-hotness-threshold=' -class HotnessThresholdParser : public cl::parser> { +class HotnessThresholdParser : public cl::parser> { public: - HotnessThresholdParser(cl::Option &O) : cl::parser>(O) {} + HotnessThresholdParser(cl::Option &O) : cl::parser>(O) {} bool parse(cl::Option &O, StringRef ArgName, StringRef Arg, - Optional &V) { + std::optional &V) { auto ResultOrErr = parseHotnessThresholdOption(Arg); if (!ResultOrErr) return O.error("Invalid argument '" + Arg + diff --git a/llvm/lib/IR/LLVMContext.cpp b/llvm/lib/IR/LLVMContext.cpp index f2da7a1..dc86714 100644 --- a/llvm/lib/IR/LLVMContext.cpp +++ b/llvm/lib/IR/LLVMContext.cpp @@ -140,7 +140,7 @@ bool LLVMContext::getDiagnosticsHotnessRequested() const { return pImpl->DiagnosticsHotnessRequested; } -void LLVMContext::setDiagnosticsHotnessThreshold(Optional Threshold) { +void LLVMContext::setDiagnosticsHotnessThreshold(std::optional Threshold) { pImpl->DiagnosticsHotnessThreshold = Threshold; } void LLVMContext::setMisExpectWarningRequested(bool Requested) { diff --git a/llvm/lib/IR/LLVMContextImpl.h b/llvm/lib/IR/LLVMContextImpl.h index 80886e9..4697051 100644 --- a/llvm/lib/IR/LLVMContextImpl.h +++ b/llvm/lib/IR/LLVMContextImpl.h @@ -1385,7 +1385,7 @@ public: /// constant. /// /// If threshold option is not specified, it is disabled (0) by default. - Optional DiagnosticsHotnessThreshold = 0; + std::optional DiagnosticsHotnessThreshold = 0; /// The percentage of difference between profiling branch weights and /// llvm.expect branch weights to tolerate when emiting MisExpect diagnostics diff --git a/llvm/lib/IR/LLVMRemarkStreamer.cpp b/llvm/lib/IR/LLVMRemarkStreamer.cpp index 915f608..023894d 100644 --- a/llvm/lib/IR/LLVMRemarkStreamer.cpp +++ b/llvm/lib/IR/LLVMRemarkStreamer.cpp @@ -94,7 +94,7 @@ char LLVMRemarkSetupFormatError::ID = 0; Expected> llvm::setupLLVMOptimizationRemarks( LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold) { + std::optional RemarksHotnessThreshold) { if (RemarksWithHotness) Context.setDiagnosticsHotnessRequested(true); @@ -141,7 +141,7 @@ Expected> llvm::setupLLVMOptimizationRemarks( Error llvm::setupLLVMOptimizationRemarks( LLVMContext &Context, raw_ostream &OS, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold) { + std::optional RemarksHotnessThreshold) { if (RemarksWithHotness) Context.setDiagnosticsHotnessRequested(true); diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp index 27787d9..f3e1eda 100644 --- a/llvm/lib/LTO/LTO.cpp +++ b/llvm/lib/LTO/LTO.cpp @@ -1645,7 +1645,7 @@ Error LTO::runThinLTO(AddStreamFn AddStream, FileCache Cache, Expected> lto::setupLLVMOptimizationRemarks( LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, - Optional RemarksHotnessThreshold, int Count) { + std::optional RemarksHotnessThreshold, int Count) { std::string Filename = std::string(RemarksFilename); // For ThinLTO, file.opt. becomes // file.opt..thin... diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp index c100fc2..461d948 100644 --- a/llvm/lib/LTO/LTOCodeGenerator.cpp +++ b/llvm/lib/LTO/LTOCodeGenerator.cpp @@ -85,7 +85,7 @@ cl::opt RemarksWithHotness( cl::desc("With PGO, include profile count in optimization remarks"), cl::Hidden); -cl::opt, false, remarks::HotnessThresholdParser> +cl::opt, false, remarks::HotnessThresholdParser> RemarksHotnessThreshold( "lto-pass-remarks-hotness-threshold", cl::desc("Minimum profile count required for an " diff --git a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp index 1bfc9a3..9f80b06 100644 --- a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp +++ b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp @@ -78,7 +78,7 @@ extern cl::opt LTODiscardValueNames; extern cl::opt RemarksFilename; extern cl::opt RemarksPasses; extern cl::opt RemarksWithHotness; -extern cl::opt, false, remarks::HotnessThresholdParser> +extern cl::opt, false, remarks::HotnessThresholdParser> RemarksHotnessThreshold; extern cl::opt RemarksFormat; } diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp index 0b26d5d..a4fda26 100644 --- a/llvm/tools/gold/gold-plugin.cpp +++ b/llvm/tools/gold/gold-plugin.cpp @@ -215,7 +215,7 @@ namespace options { static std::string RemarksFilename; static std::string RemarksPasses; static bool RemarksWithHotness = false; - static Optional RemarksHotnessThreshold = 0; + static std::optional RemarksHotnessThreshold = 0; static std::string RemarksFormat; // Context sensitive PGO options. diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp index 1a041a5..26ad622 100644 --- a/llvm/tools/llc/llc.cpp +++ b/llvm/tools/llc/llc.cpp @@ -166,7 +166,7 @@ static cl::opt RemarksWithHotness( cl::desc("With PGO, include profile count in optimization remarks"), cl::Hidden); -static cl::opt, false, remarks::HotnessThresholdParser> +static cl::opt, false, remarks::HotnessThresholdParser> RemarksHotnessThreshold( "pass-remarks-hotness-threshold", cl::desc("Minimum profile count required for " diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp index dba231e..fdb3d93 100644 --- a/llvm/tools/llvm-lto2/llvm-lto2.cpp +++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp @@ -131,7 +131,7 @@ static cl::opt RemarksWithHotness( cl::desc("With PGO, include profile count in optimization remarks"), cl::Hidden); -cl::opt, false, remarks::HotnessThresholdParser> +cl::opt, false, remarks::HotnessThresholdParser> RemarksHotnessThreshold( "pass-remarks-hotness-threshold", cl::desc("Minimum profile count required for an " diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp index 5563442..749bc67 100644 --- a/llvm/tools/opt/opt.cpp +++ b/llvm/tools/opt/opt.cpp @@ -250,12 +250,12 @@ static cl::opt RemarksWithHotness( cl::desc("With PGO, include profile count in optimization remarks"), cl::Hidden); -static cl::opt, false, remarks::HotnessThresholdParser> +static cl::opt, false, remarks::HotnessThresholdParser> RemarksHotnessThreshold( "pass-remarks-hotness-threshold", cl::desc("Minimum profile count required for " "an optimization remark to be output. " - "Use 'auto' to apply the threshold from profile summary."), + "Use 'auto' to apply the threshold from profile summary"), cl::value_desc("N or 'auto'"), cl::init(0), cl::Hidden); static cl::opt