Driver: Improve performance of getSDKName()

The ".sdk" component is usually the last one in the -isysroot, so it
makes more sense to scan from the back. Also, technically, someone
could install Xcode into a directory ending with .sdk, which would
break this heuristic.

Differential Revision: https://reviews.llvm.org/D76097
This commit is contained in:
Adrian Prantl 2020-03-20 16:40:57 -07:00
parent aa1e0e01d8
commit 0e916bf9f5
1 changed files with 2 additions and 2 deletions

View File

@ -1068,8 +1068,8 @@ StringRef Darwin::getPlatformFamily() const {
StringRef Darwin::getSDKName(StringRef isysroot) {
// Assume SDK has path: SOME_PATH/SDKs/PlatformXX.YY.sdk
auto BeginSDK = llvm::sys::path::begin(isysroot);
auto EndSDK = llvm::sys::path::end(isysroot);
auto BeginSDK = llvm::sys::path::rbegin(isysroot);
auto EndSDK = llvm::sys::path::rend(isysroot);
for (auto IT = BeginSDK; IT != EndSDK; ++IT) {
StringRef SDK = *IT;
if (SDK.endswith(".sdk"))