mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 17:46:41 +00:00
[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:
parent
9f72b78be5
commit
660c33e51d
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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 {};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user