diff options
author | Nick Desaulniers <ndesaulniers@google.com> | 2020-06-29 12:42:37 -0700 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2020-06-29 12:54:32 -0700 |
commit | 7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a (patch) | |
tree | a3cbeb9aafe39123c84634b7cb454da5fddd2fbb /clang/lib/Basic/SourceManager.cpp | |
parent | 7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970 (diff) | |
download | llvm-7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a.zip llvm-7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a.tar.gz llvm-7b8cf98b4a9a2f5ea3667fdbf913a4f8952ed36a.tar.bz2 |
Reland "[clang][SourceManager] cache Macro Expansions""
This reverts commit 33d63f02ce408d181e13089ee5a667fb2e1cdc78.
Differential Revision: https://reviews.llvm.org/D80681
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r-- | clang/lib/Basic/SourceManager.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 425bef7..0a76c78 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -861,11 +861,8 @@ FileID SourceManager::getFileIDLocal(unsigned SLocOffset) const { --I; if (I->getOffset() <= SLocOffset) { FileID Res = FileID::get(int(I - LocalSLocEntryTable.begin())); - - // If this isn't an expansion, remember it. We have good locality across - // FileID lookups. - if (!I->isExpansion()) - LastFileIDLookup = Res; + // Remember it. We have good locality across FileID lookups. + LastFileIDLookup = Res; NumLinearScans += NumProbes+1; return Res; } @@ -899,10 +896,8 @@ FileID SourceManager::getFileIDLocal(unsigned SLocOffset) const { SLocOffset < getLocalSLocEntry(MiddleIndex + 1).getOffset()) { FileID Res = FileID::get(MiddleIndex); - // If this isn't a macro expansion, remember it. We have good locality - // across FileID lookups. - if (!LocalSLocEntryTable[MiddleIndex].isExpansion()) - LastFileIDLookup = Res; + // Remember it. We have good locality across FileID lookups. + LastFileIDLookup = Res; NumBinaryProbes += NumProbes; return Res; } @@ -940,9 +935,7 @@ FileID SourceManager::getFileIDLoaded(unsigned SLocOffset) const { const SrcMgr::SLocEntry &E = getLoadedSLocEntry(I); if (E.getOffset() <= SLocOffset) { FileID Res = FileID::get(-int(I) - 2); - - if (!E.isExpansion()) - LastFileIDLookup = Res; + LastFileIDLookup = Res; NumLinearScans += NumProbes + 1; return Res; } @@ -975,8 +968,7 @@ FileID SourceManager::getFileIDLoaded(unsigned SLocOffset) const { if (isOffsetInFileID(FileID::get(-int(MiddleIndex) - 2), SLocOffset)) { FileID Res = FileID::get(-int(MiddleIndex) - 2); - if (!E.isExpansion()) - LastFileIDLookup = Res; + LastFileIDLookup = Res; NumBinaryProbes += NumProbes; return Res; } |