aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2020-06-29 12:41:56 -0700
committerNick Desaulniers <ndesaulniers@google.com>2020-06-29 12:54:32 -0700
commit7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970 (patch)
treebd9be040d9ea22858b01200760eac4f3adb88a71 /clang/lib/Basic/SourceManager.cpp
parentc5a6ee16f2f6cd7fd46616ba6808a98da53e71bd (diff)
downloadllvm-7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970.zip
llvm-7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970.tar.gz
llvm-7c2cb1448ad2d20e251db5e3ae4a0c84c12aa970.tar.bz2
Revert "[clang][SourceManager] cache Macro Expansions"
This reverts commit dffc1420451f674731cb36799c8ae084104ff0b5. Missed a hunk (D82690).
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r--clang/lib/Basic/SourceManager.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index 5c5a997..425bef7 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -861,8 +861,11 @@ FileID SourceManager::getFileIDLocal(unsigned SLocOffset) const {
--I;
if (I->getOffset() <= SLocOffset) {
FileID Res = FileID::get(int(I - LocalSLocEntryTable.begin()));
- // Remember it. We have good locality across FileID lookups.
- LastFileIDLookup = Res;
+
+ // If this isn't an expansion, remember it. We have good locality across
+ // FileID lookups.
+ if (!I->isExpansion())
+ LastFileIDLookup = Res;
NumLinearScans += NumProbes+1;
return Res;
}
@@ -937,7 +940,9 @@ FileID SourceManager::getFileIDLoaded(unsigned SLocOffset) const {
const SrcMgr::SLocEntry &E = getLoadedSLocEntry(I);
if (E.getOffset() <= SLocOffset) {
FileID Res = FileID::get(-int(I) - 2);
- LastFileIDLookup = Res;
+
+ if (!E.isExpansion())
+ LastFileIDLookup = Res;
NumLinearScans += NumProbes + 1;
return Res;
}
@@ -970,7 +975,8 @@ FileID SourceManager::getFileIDLoaded(unsigned SLocOffset) const {
if (isOffsetInFileID(FileID::get(-int(MiddleIndex) - 2), SLocOffset)) {
FileID Res = FileID::get(-int(MiddleIndex) - 2);
- LastFileIDLookup = Res;
+ if (!E.isExpansion())
+ LastFileIDLookup = Res;
NumBinaryProbes += NumProbes;
return Res;
}