[lld] 5f8f310 - [NFC][lld][COFF] Rename findFile* methods
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 6 13:15:40 PDT 2023
Author: Arthur Eubanks
Date: 2023-06-06T13:15:09-07:00
New Revision: 5f8f310a1ddff967f61ff7f7e023e6961a7e0dd7
URL: https://github.com/llvm/llvm-project/commit/5f8f310a1ddff967f61ff7f7e023e6961a7e0dd7
DIFF: https://github.com/llvm/llvm-project/commit/5f8f310a1ddff967f61ff7f7e023e6961a7e0dd7.diff
LOG: [NFC][lld][COFF] Rename findFile* methods
findFile returns null if we've already seen the file, make that clearer.
Reviewed By: mstorsjo
Differential Revision: https://reviews.llvm.org/D152292
Added:
Modified:
lld/COFF/Driver.cpp
lld/COFF/Driver.h
Removed:
################################################################################
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp
index d1b28f6716871..403030a9695df 100644
--- a/lld/COFF/Driver.cpp
+++ b/lld/COFF/Driver.cpp
@@ -256,7 +256,7 @@ void LinkerDriver::enqueuePath(StringRef path, bool wholeArchive, bool lazy) {
// This makes it so that if the user passes something in the winsysroot
// before something we can find with an architecture, we won't find the
// winsysroot file.
- if (std::optional<StringRef> retryPath = findFile(pathStr)) {
+ if (std::optional<StringRef> retryPath = findFileIfNew(pathStr)) {
auto retryMb = MemoryBuffer::getFile(*retryPath, /*IsText=*/false,
/*RequiresNullTerminator=*/false);
ec = retryMb.getError();
@@ -416,7 +416,7 @@ void LinkerDriver::parseDirectives(InputFile *file) {
parseAlternateName(arg->getValue());
break;
case OPT_defaultlib:
- if (std::optional<StringRef> path = findLib(arg->getValue()))
+ if (std::optional<StringRef> path = findLibIfNew(arg->getValue()))
enqueuePath(*path, false, false);
break;
case OPT_entry:
@@ -435,7 +435,7 @@ void LinkerDriver::parseDirectives(InputFile *file) {
parseMerge(arg->getValue());
break;
case OPT_nodefaultlib:
- ctx.config.noDefaultLibs.insert(doFindLib(arg->getValue()).lower());
+ ctx.config.noDefaultLibs.insert(findLib(arg->getValue()).lower());
break;
case OPT_release:
ctx.config.writeCheckSum = true;
@@ -475,7 +475,7 @@ void LinkerDriver::parseDirectives(InputFile *file) {
// Find file from search paths. You can omit ".obj", this function takes
// care of that. Note that the returned path is not guaranteed to exist.
-StringRef LinkerDriver::doFindFile(StringRef filename) {
+StringRef LinkerDriver::findFile(StringRef filename) {
auto getFilename = [this](StringRef filename) -> StringRef {
if (ctx.config.vfs)
if (auto statOrErr = ctx.config.vfs->status(filename))
@@ -512,8 +512,8 @@ static std::optional<sys::fs::UniqueID> getUniqueID(StringRef path) {
// Resolves a file path. This never returns the same path
// (in that case, it returns std::nullopt).
-std::optional<StringRef> LinkerDriver::findFile(StringRef filename) {
- StringRef path = doFindFile(filename);
+std::optional<StringRef> LinkerDriver::findFileIfNew(StringRef filename) {
+ StringRef path = findFile(filename);
if (std::optional<sys::fs::UniqueID> id = getUniqueID(path)) {
bool seen = !visitedFiles.insert(*id).second;
@@ -528,40 +528,40 @@ std::optional<StringRef> LinkerDriver::findFile(StringRef filename) {
// MinGW specific. If an embedded directive specified to link to
// foo.lib, but it isn't found, try libfoo.a instead.
-StringRef LinkerDriver::doFindLibMinGW(StringRef filename) {
+StringRef LinkerDriver::findLibMinGW(StringRef filename) {
if (filename.contains('/') || filename.contains('\\'))
return filename;
SmallString<128> s = filename;
sys::path::replace_extension(s, ".a");
StringRef libName = saver().save("lib" + s.str());
- return doFindFile(libName);
+ return findFile(libName);
}
// Find library file from search path.
-StringRef LinkerDriver::doFindLib(StringRef filename) {
+StringRef LinkerDriver::findLib(StringRef filename) {
// Add ".lib" to Filename if that has no file extension.
bool hasExt = filename.contains('.');
if (!hasExt)
filename = saver().save(filename + ".lib");
- StringRef ret = doFindFile(filename);
+ StringRef ret = findFile(filename);
// For MinGW, if the find above didn't turn up anything, try
// looking for a MinGW formatted library name.
if (ctx.config.mingw && ret == filename)
- return doFindLibMinGW(filename);
+ return findLibMinGW(filename);
return ret;
}
// Resolves a library path. /nodefaultlib options are taken into
// consideration. This never returns the same path (in that case,
// it returns std::nullopt).
-std::optional<StringRef> LinkerDriver::findLib(StringRef filename) {
+std::optional<StringRef> LinkerDriver::findLibIfNew(StringRef filename) {
if (ctx.config.noDefaultLibAll)
return std::nullopt;
if (!visitedLibs.insert(filename.lower()).second)
return std::nullopt;
- StringRef path = doFindLib(filename);
+ StringRef path = findLib(filename);
if (ctx.config.noDefaultLibs.count(path.lower()))
return std::nullopt;
@@ -1353,7 +1353,7 @@ void LinkerDriver::maybeExportMinGWSymbols(const opt::InputArgList &args) {
AutoExporter exporter(ctx, excludedSymbols);
for (auto *arg : args.filtered(OPT_wholearchive_file))
- if (std::optional<StringRef> path = doFindFile(arg->getValue()))
+ if (std::optional<StringRef> path = findFile(arg->getValue()))
exporter.addWholeArchive(*path);
for (auto *arg : args.filtered(OPT_exclude_symbols)) {
@@ -1685,7 +1685,7 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
// Handle /nodefaultlib:<filename>
for (auto *arg : args.filtered(OPT_nodefaultlib))
- config->noDefaultLibs.insert(doFindLib(arg->getValue()).lower());
+ config->noDefaultLibs.insert(findLib(arg->getValue()).lower());
// Handle /nodefaultlib
if (args.hasArg(OPT_nodefaultlib_all))
@@ -1988,7 +1988,7 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
std::set<sys::fs::UniqueID> wholeArchives;
for (auto *arg : args.filtered(OPT_wholearchive_file))
- if (std::optional<StringRef> path = doFindFile(arg->getValue()))
+ if (std::optional<StringRef> path = findFile(arg->getValue()))
if (std::optional<sys::fs::UniqueID> id = getUniqueID(*path))
wholeArchives.insert(*id);
@@ -2021,11 +2021,11 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
inLib = true;
break;
case OPT_wholearchive_file:
- if (std::optional<StringRef> path = findFile(arg->getValue()))
+ if (std::optional<StringRef> path = findFileIfNew(arg->getValue()))
enqueuePath(*path, true, inLib);
break;
case OPT_INPUT:
- if (std::optional<StringRef> path = findFile(arg->getValue()))
+ if (std::optional<StringRef> path = findFileIfNew(arg->getValue()))
enqueuePath(*path, isWholeArchive(*path), inLib);
break;
default:
@@ -2051,7 +2051,7 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
// Process files specified as /defaultlib. These must be processed after
// addWinSysRootLibSearchPaths(), which is why they are in a separate loop.
for (auto *arg : args.filtered(OPT_defaultlib))
- if (std::optional<StringRef> path = findLib(arg->getValue()))
+ if (std::optional<StringRef> path = findLibIfNew(arg->getValue()))
enqueuePath(*path, false, false);
run();
if (errorCount())
diff --git a/lld/COFF/Driver.h b/lld/COFF/Driver.h
index 8ec3bb464206e..6fb3abf260d6c 100644
--- a/lld/COFF/Driver.h
+++ b/lld/COFF/Driver.h
@@ -101,11 +101,11 @@ class LinkerDriver {
private:
// Searches a file from search paths.
- std::optional<StringRef> findFile(StringRef filename);
- std::optional<StringRef> findLib(StringRef filename);
- StringRef doFindFile(StringRef filename);
- StringRef doFindLib(StringRef filename);
- StringRef doFindLibMinGW(StringRef filename);
+ std::optional<StringRef> findFileIfNew(StringRef filename);
+ std::optional<StringRef> findLibIfNew(StringRef filename);
+ StringRef findFile(StringRef filename);
+ StringRef findLib(StringRef filename);
+ StringRef findLibMinGW(StringRef filename);
bool findUnderscoreMangle(StringRef sym);
More information about the llvm-commits
mailing list