Author: Fangrui Song Date: 2022-12-04T20:44:52Z New Revision: 4e62072ca1ee4ecb7584ba9a69464ba617eaae61
URL: https://github.com/llvm/llvm-project/commit/4e62072ca1ee4ecb7584ba9a69464ba617eaae61 DIFF: https://github.com/llvm/llvm-project/commit/4e62072ca1ee4ecb7584ba9a69464ba617eaae61.diff LOG: [Passes] llvm::Optional => std::optional Added: Modified: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/Passes/PassBuilder.h llvm/include/llvm/Passes/StandardInstrumentations.h llvm/include/llvm/Target/TargetMachine.h llvm/lib/CodeGen/TargetPassConfig.cpp llvm/lib/LTO/LTOBackend.cpp llvm/lib/LTO/ThinLTOCodeGenerator.cpp llvm/lib/Passes/PassBuilder.cpp llvm/tools/opt/NewPMDriver.cpp Removed: ################################################################################ diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 15e78908a6e89..b18ead066c6d2 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -773,7 +773,7 @@ static void addSanitizers(const Triple &TargetTriple, void EmitAssemblyHelper::RunOptimizationPipeline( BackendAction Action, std::unique_ptr<raw_pwrite_stream> &OS, std::unique_ptr<llvm::ToolOutputFile> &ThinLinkOS) { - Optional<PGOOptions> PGOOpt; + std::optional<PGOOptions> PGOOpt; if (CodeGenOpts.hasProfileIRInstr()) // -fprofile-generate. diff --git a/llvm/include/llvm/Passes/PassBuilder.h b/llvm/include/llvm/Passes/PassBuilder.h index d7a0e7726cc30..2e9f805faa516 100644 --- a/llvm/include/llvm/Passes/PassBuilder.h +++ b/llvm/include/llvm/Passes/PassBuilder.h @@ -97,7 +97,7 @@ class PipelineTuningOptions { class PassBuilder { TargetMachine *TM; PipelineTuningOptions PTO; - Optional<PGOOptions> PGOOpt; + std::optional<PGOOptions> PGOOpt; PassInstrumentationCallbacks *PIC; public: @@ -116,7 +116,7 @@ class PassBuilder { explicit PassBuilder(TargetMachine *TM = nullptr, PipelineTuningOptions PTO = PipelineTuningOptions(), - Optional<PGOOptions> PGOOpt = std::nullopt, + std::optional<PGOOptions> PGOOpt = std::nullopt, PassInstrumentationCallbacks *PIC = nullptr); /// Cross register the analysis managers through their proxies. @@ -587,7 +587,7 @@ class PassBuilder { void addVectorPasses(OptimizationLevel Level, FunctionPassManager &FPM, bool IsFullLTO); - static Optional<std::vector<PipelineElement>> + static std::optional<std::vector<PipelineElement>> parsePipelineText(StringRef Text); Error parseModulePass(ModulePassManager &MPM, const PipelineElement &E); diff --git a/llvm/include/llvm/Passes/StandardInstrumentations.h b/llvm/include/llvm/Passes/StandardInstrumentations.h index 760deccbb2416..20211c18b3d97 100644 --- a/llvm/include/llvm/Passes/StandardInstrumentations.h +++ b/llvm/include/llvm/Passes/StandardInstrumentations.h @@ -127,7 +127,7 @@ class PreservedCFGCheckerInstrumentation { // in the Graph (BBGuard). That is if any of the block is deleted or RAUWed // then the CFG is treated poisoned and no block pointer of the Graph is used. struct CFG { - Optional<DenseMap<intptr_t, BBGuard>> BBGuards; + std::optional<DenseMap<intptr_t, BBGuard>> BBGuards; DenseMap<const BasicBlock *, DenseMap<const BasicBlock *, unsigned>> Graph; CFG(const Function *F, bool TrackBBLifetime); diff --git a/llvm/include/llvm/Target/TargetMachine.h b/llvm/include/llvm/Target/TargetMachine.h index 86066288856f6..2dd1c81995130 100644 --- a/llvm/include/llvm/Target/TargetMachine.h +++ b/llvm/include/llvm/Target/TargetMachine.h @@ -13,7 +13,6 @@ #ifndef LLVM_TARGET_TARGETMACHINE_H #define LLVM_TARGET_TARGETMACHINE_H -#include "llvm/ADT/Optional.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" #include "llvm/IR/DataLayout.h" @@ -111,7 +110,7 @@ class TargetMachine { unsigned O0WantsFastISel : 1; // PGO related tunables. - Optional<PGOOptions> PGOOption = std::nullopt; + std::optional<PGOOptions> PGOOption = std::nullopt; public: const TargetOptions DefaultOptions; @@ -311,8 +310,8 @@ class TargetMachine { return false; } - void setPGOOption(Optional<PGOOptions> PGOOpt) { PGOOption = PGOOpt; } - const Optional<PGOOptions> &getPGOOption() const { return PGOOption; } + void setPGOOption(std::optional<PGOOptions> PGOOpt) { PGOOption = PGOOpt; } + const std::optional<PGOOptions> &getPGOOption() const { return PGOOption; } /// If the specified generic pointer could be assumed as a pointer to a /// specific address space, return that address space. diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp index 0f4a82d966313..b95d5790e10b5 100644 --- a/llvm/lib/CodeGen/TargetPassConfig.cpp +++ b/llvm/lib/CodeGen/TargetPassConfig.cpp @@ -340,7 +340,7 @@ static IdentifyingPassPtr overridePass(AnalysisID StandardID, static std::string getFSProfileFile(const TargetMachine *TM) { if (!FSProfileFile.empty()) return FSProfileFile.getValue(); - const Optional<PGOOptions> &PGOOpt = TM->getPGOOption(); + const std::optional<PGOOptions> &PGOOpt = TM->getPGOOption(); if (PGOOpt == std::nullopt || PGOOpt->Action != PGOOptions::SampleUse) return std::string(); return PGOOpt->ProfileFile; @@ -351,7 +351,7 @@ static std::string getFSProfileFile(const TargetMachine *TM) { static std::string getFSRemappingFile(const TargetMachine *TM) { if (!FSRemappingFile.empty()) return FSRemappingFile.getValue(); - const Optional<PGOOptions> &PGOOpt = TM->getPGOOption(); + const std::optional<PGOOptions> &PGOOpt = TM->getPGOOption(); if (PGOOpt == std::nullopt || PGOOpt->Action != PGOOptions::SampleUse) return std::string(); return PGOOpt->ProfileRemappingFile; diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp index 7a5f3a9d56bd4..1c2ca253af353 100644 --- a/llvm/lib/LTO/LTOBackend.cpp +++ b/llvm/lib/LTO/LTOBackend.cpp @@ -232,7 +232,7 @@ static void runNewPMPasses(const Config &Conf, Module &Mod, TargetMachine *TM, unsigned OptLevel, bool IsThinLTO, ModuleSummaryIndex *ExportSummary, const ModuleSummaryIndex *ImportSummary) { - Optional<PGOOptions> PGOOpt; + std::optional<PGOOptions> PGOOpt; if (!Conf.SampleProfile.empty()) PGOOpt = PGOOptions(Conf.SampleProfile, "", Conf.ProfileRemapping, PGOOptions::SampleUse, PGOOptions::NoCSAction, true); diff --git a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp index 9f80b06bcd3a4..5b137a8f8cb34 100644 --- a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp +++ b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp @@ -237,7 +237,7 @@ crossImportIntoModule(Module &TheModule, const ModuleSummaryIndex &Index, static void optimizeModule(Module &TheModule, TargetMachine &TM, unsigned OptLevel, bool Freestanding, bool DebugPassManager, ModuleSummaryIndex *Index) { - Optional<PGOOptions> PGOOpt; + std::optional<PGOOptions> PGOOpt; LoopAnalysisManager LAM; FunctionAnalysisManager FAM; CGSCCAnalysisManager CGAM; diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index 7522302b2fe29..e8a17a6a962e0 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -395,7 +395,7 @@ class TriggerCrashPass : public PassInfoMixin<TriggerCrashPass> { } // namespace PassBuilder::PassBuilder(TargetMachine *TM, PipelineTuningOptions PTO, - Optional<PGOOptions> PGOOpt, + std::optional<PGOOptions> PGOOpt, PassInstrumentationCallbacks *PIC) : TM(TM), PTO(PTO), PGOOpt(PGOOpt), PIC(PIC) { if (TM) @@ -1027,7 +1027,7 @@ static bool isLoopPassName(StringRef Name, CallbacksT &Callbacks, return callbacksAcceptPassName<LoopPassManager>(Name, Callbacks); } -Optional<std::vector<PassBuilder::PipelineElement>> +std::optional<std::vector<PassBuilder::PipelineElement>> PassBuilder::parsePipelineText(StringRef Text) { std::vector<PipelineElement> ResultPipeline; diff --git a/llvm/tools/opt/NewPMDriver.cpp b/llvm/tools/opt/NewPMDriver.cpp index 39a998ea0e470..6b66f64b1dc4c 100644 --- a/llvm/tools/opt/NewPMDriver.cpp +++ b/llvm/tools/opt/NewPMDriver.cpp @@ -333,7 +333,7 @@ bool llvm::runPassPipeline(StringRef Arg0, Module &M, TargetMachine *TM, bool EnableDebugify, bool VerifyDIPreserve) { bool VerifyEachPass = VK == VK_VerifyEachPass; - Optional<PGOOptions> P; + std::optional<PGOOptions> P; switch (PGOKindFlag) { case InstrGen: P = PGOOptions(ProfileFile, "", "", PGOOptions::IRInstr); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits