[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
This commit is contained in:
Kazu Hirata 2023-01-14 21:10:14 -08:00
parent 9f72b78be5
commit 660c33e51d
3 changed files with 11 additions and 9 deletions

View File

@ -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<Optional<libc_benchmarks::BenchmarkLog>>(String)
llvm::StringSwitch<std::optional<libc_benchmarks::BenchmarkLog>>(String)
.Case("None", libc_benchmarks::BenchmarkLog::None)
.Case("Last", libc_benchmarks::BenchmarkLog::Last)
.Case("Full", libc_benchmarks::BenchmarkLog::Full)

View File

@ -1,5 +1,6 @@
#include "automemcpy/CodeGen.h"
#include "automemcpy/RandomFunctionGenerator.h"
#include <optional>
#include <unordered_set>
namespace llvm {
@ -9,7 +10,7 @@ std::vector<FunctionDescriptor> generateFunctionDescriptors() {
std::unordered_set<FunctionDescriptor, FunctionDescriptor::Hasher> Seen;
std::vector<FunctionDescriptor> FunctionDescriptors;
RandomFunctionGenerator P;
while (Optional<FunctionDescriptor> MaybeFD = P.next()) {
while (std::optional<FunctionDescriptor> MaybeFD = P.next()) {
FunctionDescriptor FD = *MaybeFD;
if (Seen.count(FD)) // FIXME: Z3 sometimes returns twice the same object.
continue;

View File

@ -157,7 +157,7 @@ RandomFunctionGenerator::RandomFunctionGenerator()
// Creates SizeSpan from Begin/End values.
// Returns std::nullopt if Begin==End.
static Optional<SizeSpan> AsSizeSpan(size_t Begin, size_t End) {
static std::optional<SizeSpan> AsSizeSpan(size_t Begin, size_t End) {
if (Begin == End)
return std::nullopt;
SizeSpan SS;
@ -169,7 +169,7 @@ static Optional<SizeSpan> 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 <typename Region>
static Optional<Region> As(size_t Begin, size_t End) {
static std::optional<Region> As(size_t Begin, size_t End) {
if (auto Span = AsSizeSpan(Begin, End)) {
Region Output;
Output.Span = *Span;
@ -179,7 +179,7 @@ static Optional<Region> As(size_t Begin, size_t End) {
}
// Returns a Loop struct or std::nullopt if span is empty.
static Optional<Loop> AsLoop(size_t Begin, size_t End, size_t BlockSize) {
static std::optional<Loop> 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<Loop> AsLoop(size_t Begin, size_t End, size_t BlockSize) {
}
// Returns an AlignedLoop struct or std::nullopt if span is empty.
static Optional<AlignedLoop> AsAlignedLoop(size_t Begin, size_t End,
size_t BlockSize, size_t Alignment,
AlignArg AlignTo) {
static std::optional<AlignedLoop> 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<AlignedLoop> AsAlignedLoop(size_t Begin, size_t End,
return std::nullopt;
}
Optional<FunctionDescriptor> RandomFunctionGenerator::next() {
std::optional<FunctionDescriptor> RandomFunctionGenerator::next() {
if (Solver.check() != z3::sat)
return {};