From: Kazu Hirata Date: Sun, 15 Jan 2023 05:10:14 +0000 (-0800) Subject: [libc] Use std::optional instead of llvm::Optional (NFC) X-Git-Tag: upstream/17.0.6~20891 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=660c33e51de20b5a414b029a6dbae8a33aefabd4;p=platform%2Fupstream%2Fllvm.git [libc] Use std::optional instead of llvm::Optional (NFC) This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 --- diff --git a/libc/benchmarks/JSON.cpp b/libc/benchmarks/JSON.cpp index fd5cf45..6443ff4 100644 --- a/libc/benchmarks/JSON.cpp +++ b/libc/benchmarks/JSON.cpp @@ -105,7 +105,7 @@ static Error fromJson(const json::Value &V, "Can't parse BenchmarkLog, not a String"); const auto String = *V.getAsString(); auto Parsed = - llvm::StringSwitch>(String) + llvm::StringSwitch>(String) .Case("None", libc_benchmarks::BenchmarkLog::None) .Case("Last", libc_benchmarks::BenchmarkLog::Last) .Case("Full", libc_benchmarks::BenchmarkLog::Full) diff --git a/libc/benchmarks/automemcpy/lib/CodeGenMain.cpp b/libc/benchmarks/automemcpy/lib/CodeGenMain.cpp index 618e4f1..3f4e6fc 100644 --- a/libc/benchmarks/automemcpy/lib/CodeGenMain.cpp +++ b/libc/benchmarks/automemcpy/lib/CodeGenMain.cpp @@ -1,5 +1,6 @@ #include "automemcpy/CodeGen.h" #include "automemcpy/RandomFunctionGenerator.h" +#include #include namespace llvm { @@ -9,7 +10,7 @@ std::vector generateFunctionDescriptors() { std::unordered_set Seen; std::vector FunctionDescriptors; RandomFunctionGenerator P; - while (Optional MaybeFD = P.next()) { + while (std::optional MaybeFD = P.next()) { FunctionDescriptor FD = *MaybeFD; if (Seen.count(FD)) // FIXME: Z3 sometimes returns twice the same object. continue; diff --git a/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp b/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp index c362874..f438e2a 100644 --- a/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp +++ b/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp @@ -157,7 +157,7 @@ RandomFunctionGenerator::RandomFunctionGenerator() // Creates SizeSpan from Begin/End values. // Returns std::nullopt if Begin==End. -static Optional AsSizeSpan(size_t Begin, size_t End) { +static std::optional AsSizeSpan(size_t Begin, size_t End) { if (Begin == End) return std::nullopt; SizeSpan SS; @@ -169,7 +169,7 @@ static Optional AsSizeSpan(size_t Begin, size_t End) { // Generic method to create a `Region` struct with a Span or std::nullopt if // span is empty. template -static Optional As(size_t Begin, size_t End) { +static std::optional As(size_t Begin, size_t End) { if (auto Span = AsSizeSpan(Begin, End)) { Region Output; Output.Span = *Span; @@ -179,7 +179,7 @@ static Optional As(size_t Begin, size_t End) { } // Returns a Loop struct or std::nullopt if span is empty. -static Optional AsLoop(size_t Begin, size_t End, size_t BlockSize) { +static std::optional AsLoop(size_t Begin, size_t End, size_t BlockSize) { if (auto Span = AsSizeSpan(Begin, End)) { Loop Output; Output.Span = *Span; @@ -190,9 +190,10 @@ static Optional AsLoop(size_t Begin, size_t End, size_t BlockSize) { } // Returns an AlignedLoop struct or std::nullopt if span is empty. -static Optional AsAlignedLoop(size_t Begin, size_t End, - size_t BlockSize, size_t Alignment, - AlignArg AlignTo) { +static std::optional AsAlignedLoop(size_t Begin, size_t End, + size_t BlockSize, + size_t Alignment, + AlignArg AlignTo) { if (auto Loop = AsLoop(Begin, End, BlockSize)) { AlignedLoop Output; Output.Loop = *Loop; @@ -203,7 +204,7 @@ static Optional AsAlignedLoop(size_t Begin, size_t End, return std::nullopt; } -Optional RandomFunctionGenerator::next() { +std::optional RandomFunctionGenerator::next() { if (Solver.check() != z3::sat) return {};