[libc-commits] [libc] 70fe44c - [libc] Use std::nullopt instead of None (NFC)
Kazu Hirata via libc-commits
libc-commits at lists.llvm.org
Fri Dec 9 19:14:10 PST 2022
Author: Kazu Hirata
Date: 2022-12-09T19:14:05-08:00
New Revision: 70fe44ca777f179e3de9aa42afc14cd5f86abd34
URL: https://github.com/llvm/llvm-project/commit/70fe44ca777f179e3de9aa42afc14cd5f86abd34
DIFF: https://github.com/llvm/llvm-project/commit/70fe44ca777f179e3de9aa42afc14cd5f86abd34.diff
LOG: [libc] Use std::nullopt instead of None (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
Added:
Modified:
libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
libc/benchmarks/automemcpy/lib/CodeGen.cpp
libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
libc/test/utils/tools/WrapperGen/wrappergen_test.cpp
libc/utils/LibcTableGenUtil/APIIndexer.h
Removed:
################################################################################
diff --git a/libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h b/libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
index 48e8815801c55..4fa1c3843a0ef 100644
--- a/libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
+++ b/libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
@@ -26,7 +26,7 @@ namespace automemcpy {
struct RandomFunctionGenerator {
RandomFunctionGenerator();
- // Get the next valid FunctionDescriptor or llvm::None.
+ // Get the next valid FunctionDescriptor or std::nullopt.
Optional<FunctionDescriptor> next();
private:
diff --git a/libc/benchmarks/automemcpy/lib/CodeGen.cpp b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
index cf196b1ad6a7b..7f7d2b564b385 100644
--- a/libc/benchmarks/automemcpy/lib/CodeGen.cpp
+++ b/libc/benchmarks/automemcpy/lib/CodeGen.cpp
@@ -310,8 +310,8 @@ namespace descriptors {
// e.g.
// ArrayRef<NamedFunctionDescriptor> getFunctionDescriptors() {
// static constexpr NamedFunctionDescriptor kDescriptors[] = {
-// {"memcpy_0xE00E29EE73994E2B",{FunctionType::MEMCPY,llvm::None,llvm::None,llvm::None,llvm::None,Accelerator{{0,kMaxSize}},ElementTypeClass::NATIVE}},
-// {"memcpy_0x8661D80472487AB5",{FunctionType::MEMCPY,Contiguous{{0,1}},llvm::None,llvm::None,llvm::None,Accelerator{{1,kMaxSize}},ElementTypeClass::NATIVE}},
+// {"memcpy_0xE00E29EE73994E2B",{FunctionType::MEMCPY,std::nullopt,std::nullopt,std::nullopt,std::nullopt,Accelerator{{0,kMaxSize}},ElementTypeClass::NATIVE}},
+// {"memcpy_0x8661D80472487AB5",{FunctionType::MEMCPY,Contiguous{{0,1}},std::nullopt,std::nullopt,std::nullopt,Accelerator{{1,kMaxSize}},ElementTypeClass::NATIVE}},
// ...
// };
// return makeArrayRef(kDescriptors);
@@ -380,7 +380,7 @@ static raw_ostream &operator<<(raw_ostream &Stream,
const llvm::Optional<T> &MaybeT) {
if (MaybeT)
return Stream << *MaybeT;
- return Stream << "llvm::None";
+ return Stream << "std::nullopt";
}
static raw_ostream &operator<<(raw_ostream &Stream,
const FunctionDescriptor &FD) {
diff --git a/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp b/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
index 763fbc6d85a3d..c8ceecc0d609d 100644
--- a/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
+++ b/libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
@@ -156,7 +156,7 @@ RandomFunctionGenerator::RandomFunctionGenerator()
}
// Creates SizeSpan from Begin/End values.
-// Returns llvm::None if Begin==End.
+// Returns std::nullopt if Begin==End.
static Optional<SizeSpan> AsSizeSpan(size_t Begin, size_t End) {
if (Begin == End)
return None;
diff --git a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
index ef16a61c63205..1d8df111f6005 100644
--- a/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
+++ b/libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
@@ -10,6 +10,7 @@
#include "automemcpy/RandomFunctionGenerator.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
+#include <optional>
using testing::AllOf;
using testing::AnyOf;
@@ -25,22 +26,22 @@ namespace {
TEST(Automemcpy, Codegen) {
static constexpr FunctionDescriptor kDescriptors[] = {
- {FunctionType::MEMCPY, llvm::None, llvm::None, llvm::None, llvm::None,
+ {FunctionType::MEMCPY, std::nullopt, std::nullopt, std::nullopt, std::nullopt,
Accelerator{{0, kMaxSize}}, ElementTypeClass::NATIVE},
{FunctionType::MEMCPY, Contiguous{{0, 4}}, Overlap{{4, 256}},
- Loop{{256, kMaxSize}, 64}, llvm::None, llvm::None,
+ Loop{{256, kMaxSize}, 64}, std::nullopt, std::nullopt,
ElementTypeClass::NATIVE},
- {FunctionType::MEMCMP, Contiguous{{0, 2}}, Overlap{{2, 64}}, llvm::None,
- AlignedLoop{Loop{{64, kMaxSize}, 16}, 16, AlignArg::_1}, llvm::None,
+ {FunctionType::MEMCMP, Contiguous{{0, 2}}, Overlap{{2, 64}}, std::nullopt,
+ AlignedLoop{Loop{{64, kMaxSize}, 16}, 16, AlignArg::_1}, std::nullopt,
ElementTypeClass::NATIVE},
- {FunctionType::MEMSET, Contiguous{{0, 2}}, Overlap{{2, 256}}, llvm::None,
- AlignedLoop{Loop{{256, kMaxSize}, 32}, 16, AlignArg::_1}, llvm::None,
+ {FunctionType::MEMSET, Contiguous{{0, 2}}, Overlap{{2, 256}}, std::nullopt,
+ AlignedLoop{Loop{{256, kMaxSize}, 32}, 16, AlignArg::_1}, std::nullopt,
ElementTypeClass::NATIVE},
- {FunctionType::MEMSET, Contiguous{{0, 2}}, Overlap{{2, 256}}, llvm::None,
- AlignedLoop{Loop{{256, kMaxSize}, 32}, 32, AlignArg::_1}, llvm::None,
+ {FunctionType::MEMSET, Contiguous{{0, 2}}, Overlap{{2, 256}}, std::nullopt,
+ AlignedLoop{Loop{{256, kMaxSize}, 32}, 32, AlignArg::_1}, std::nullopt,
ElementTypeClass::NATIVE},
- {FunctionType::BZERO, Contiguous{{0, 4}}, Overlap{{4, 128}}, llvm::None,
- AlignedLoop{Loop{{128, kMaxSize}, 32}, 32, AlignArg::_1}, llvm::None,
+ {FunctionType::BZERO, Contiguous{{0, 4}}, Overlap{{4, 128}}, std::nullopt,
+ AlignedLoop{Loop{{128, kMaxSize}, 32}, 32, AlignArg::_1}, std::nullopt,
ElementTypeClass::NATIVE},
};
@@ -140,12 +141,12 @@ namespace automemcpy {
ArrayRef<NamedFunctionDescriptor> getFunctionDescriptors() {
static constexpr NamedFunctionDescriptor kDescriptors[] = {
- {"memcpy_0xE00E29EE73994E2B",{FunctionType::MEMCPY,llvm::None,llvm::None,llvm::None,llvm::None,Accelerator{{0,kMaxSize}},ElementTypeClass::NATIVE}},
- {"memcpy_0x7381B60C7BE75EF9",{FunctionType::MEMCPY,Contiguous{{0,4}},Overlap{{4,256}},Loop{{256,kMaxSize},64},llvm::None,llvm::None,ElementTypeClass::NATIVE}},
- {"memcmp_0x348D7BA6DB0EE033",{FunctionType::MEMCMP,Contiguous{{0,2}},Overlap{{2,64}},llvm::None,AlignedLoop{Loop{{64,kMaxSize},16},16,AlignArg::_1},llvm::None,ElementTypeClass::NATIVE}},
- {"memset_0x71E761699B999863",{FunctionType::MEMSET,Contiguous{{0,2}},Overlap{{2,256}},llvm::None,AlignedLoop{Loop{{256,kMaxSize},32},16,AlignArg::_1},llvm::None,ElementTypeClass::NATIVE}},
- {"memset_0x3DF0F44E2ED6A50F",{FunctionType::MEMSET,Contiguous{{0,2}},Overlap{{2,256}},llvm::None,AlignedLoop{Loop{{256,kMaxSize},32},32,AlignArg::_1},llvm::None,ElementTypeClass::NATIVE}},
- {"bzero_0x475977492C218AD4",{FunctionType::BZERO,Contiguous{{0,4}},Overlap{{4,128}},llvm::None,AlignedLoop{Loop{{128,kMaxSize},32},32,AlignArg::_1},llvm::None,ElementTypeClass::NATIVE}},
+ {"memcpy_0xE00E29EE73994E2B",{FunctionType::MEMCPY,std::nullopt,std::nullopt,std::nullopt,std::nullopt,Accelerator{{0,kMaxSize}},ElementTypeClass::NATIVE}},
+ {"memcpy_0x7381B60C7BE75EF9",{FunctionType::MEMCPY,Contiguous{{0,4}},Overlap{{4,256}},Loop{{256,kMaxSize},64},std::nullopt,std::nullopt,ElementTypeClass::NATIVE}},
+ {"memcmp_0x348D7BA6DB0EE033",{FunctionType::MEMCMP,Contiguous{{0,2}},Overlap{{2,64}},std::nullopt,AlignedLoop{Loop{{64,kMaxSize},16},16,AlignArg::_1},std::nullopt,ElementTypeClass::NATIVE}},
+ {"memset_0x71E761699B999863",{FunctionType::MEMSET,Contiguous{{0,2}},Overlap{{2,256}},std::nullopt,AlignedLoop{Loop{{256,kMaxSize},32},16,AlignArg::_1},std::nullopt,ElementTypeClass::NATIVE}},
+ {"memset_0x3DF0F44E2ED6A50F",{FunctionType::MEMSET,Contiguous{{0,2}},Overlap{{2,256}},std::nullopt,AlignedLoop{Loop{{256,kMaxSize},32},32,AlignArg::_1},std::nullopt,ElementTypeClass::NATIVE}},
+ {"bzero_0x475977492C218AD4",{FunctionType::BZERO,Contiguous{{0,4}},Overlap{{4,128}},std::nullopt,AlignedLoop{Loop{{128,kMaxSize},32},32,AlignArg::_1},std::nullopt,ElementTypeClass::NATIVE}},
};
return makeArrayRef(kDescriptors);
}
diff --git a/libc/test/utils/tools/WrapperGen/wrappergen_test.cpp b/libc/test/utils/tools/WrapperGen/wrappergen_test.cpp
index b0b2440fce69a..1408fc6ab0a7e 100644
--- a/libc/test/utils/tools/WrapperGen/wrappergen_test.cpp
+++ b/libc/test/utils/tools/WrapperGen/wrappergen_test.cpp
@@ -19,6 +19,7 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <unistd.h>
+#include <optional>
llvm::cl::opt<std::string>
LibcPath("path", llvm::cl::desc("Path to the top level libc directory."),
@@ -71,7 +72,7 @@ using LlvmLibcWrapperGenTest = WrapperGenTest;
TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenAndGetNoErrors) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef ArgV[] = {ProgPath,
@@ -82,7 +83,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenAndGetNoErrors) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 0);
@@ -93,7 +94,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenAndGetNoErrors) {
TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlen) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef ArgV[] = {ProgPath,
@@ -104,7 +105,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlen) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 0);
@@ -128,7 +129,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlen) {
TEST_F(LlvmLibcWrapperGenTest, GenAliasForStrlen) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef ArgV[] = {ProgPath,
@@ -141,7 +142,7 @@ TEST_F(LlvmLibcWrapperGenTest, GenAliasForStrlen) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 0);
@@ -164,7 +165,7 @@ TEST_F(LlvmLibcWrapperGenTest, GenAliasForStrlen) {
TEST_F(LlvmLibcWrapperGenTest, DeclStrlenAliasUsingMangledNameFile) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
const char *MangledNameFileContent =
@@ -189,7 +190,7 @@ TEST_F(LlvmLibcWrapperGenTest, DeclStrlenAliasUsingMangledNameFile) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 0);
@@ -217,7 +218,7 @@ TEST_F(LlvmLibcWrapperGenTest, DeclStrlenAliasUsingMangledNameFile) {
TEST_F(LlvmLibcWrapperGenTest,
RunWrapperGenOnStrlenWithMangledNameAndMangledNameFile) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef ArgV[] = {ProgPath,
@@ -232,7 +233,7 @@ TEST_F(LlvmLibcWrapperGenTest,
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 1);
@@ -251,7 +252,7 @@ TEST_F(LlvmLibcWrapperGenTest,
TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnBadFuncName) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef BadFuncName = "FAKE_TEST_FUNC";
@@ -264,7 +265,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnBadFuncName) {
BadFuncName};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 1);
@@ -283,7 +284,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnBadFuncName) {
TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlenWithBadMangledNameFile) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::StringRef BadMangledNameFileName = "FILE_THAT_DOESNT_EXIST.txt";
@@ -298,7 +299,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlenWithBadMangledNameFile) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_EQ(ExitCode, 1);
@@ -317,7 +318,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWrapperGenOnStrlenWithBadMangledNameFile) {
TEST_F(LlvmLibcWrapperGenTest, RunWithMangledNameFileMissingLLVMLibcName) {
std::optional<llvm::StringRef> Redirects[] = {
- llvm::None, llvm::StringRef(STDOutFile.get().TmpName),
+ std::nullopt, llvm::StringRef(STDOutFile.get().TmpName),
llvm::StringRef(STDErrFile.get().TmpName)};
llvm::SmallVector<char> MangledNameFilePath;
@@ -336,7 +337,7 @@ TEST_F(LlvmLibcWrapperGenTest, RunWithMangledNameFileMissingLLVMLibcName) {
"strlen"};
int ExitCode =
- llvm::sys::ExecuteAndWait(ProgPath, ArgV, llvm::None, Redirects);
+ llvm::sys::ExecuteAndWait(ProgPath, ArgV, std::nullopt, Redirects);
EXPECT_NE(ExitCode, 0);
diff --git a/libc/utils/LibcTableGenUtil/APIIndexer.h b/libc/utils/LibcTableGenUtil/APIIndexer.h
index 26c813075a7ba..12dab0faa45cb 100644
--- a/libc/utils/LibcTableGenUtil/APIIndexer.h
+++ b/libc/utils/LibcTableGenUtil/APIIndexer.h
@@ -12,6 +12,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/TableGen/Record.h"
+#include <optional>
#include <string>
#include <unordered_map>
#include <unordered_set>
@@ -48,7 +49,7 @@ class APIIndexer {
using NameSet = std::unordered_set<std::string>;
// This indexes all headers, not just a specified one.
- explicit APIIndexer(llvm::RecordKeeper &Records) : StdHeader(llvm::None) {
+ explicit APIIndexer(llvm::RecordKeeper &Records) : StdHeader(std::nullopt) {
index(Records);
}
More information about the libc-commits
mailing list