[PATCH] D72860: [modules] Do not cache invalid state for modules that we attempted to load.

Volodymyr Sapsai via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 16 12:18:21 PST 2020


vsapsai marked an inline comment as done.
vsapsai added a comment.

Anecdotal build time measurements before and after the change. First row is a clean build, subsequent rows are incremental builds.

| Revision | Before change | After change | Change (after - before) | Relative change |
| -------- | ------------- | ------------ | ----------------------- | --------------- |
| 5da385fb56c <https://reviews.llvm.org/rG5da385fb56cbe92d8bd8f53954056eca1829fe1b>        | 27:40         | 28:20        | +40s                    | +2.41%          |
| d4e006e8446 <https://reviews.llvm.org/rGd4e006e84461bb98977388bd8742413d45c245c4>        | 30:50         | 28:29        | -141s                   | -7.62%          |
| 77d049d0c65 <https://reviews.llvm.org/rG77d049d0c653798698fa24556115874828aae87b>        | 0:28          | 0:28         | 0s                      | 0%              |
| 1b9ef3bbb59 <https://reviews.llvm.org/rG1b9ef3bbb595206b0097b7adec2c1b69eae6fab4>        | 0:10          | 0:11         | +1s                     | +10%            |
| ab411801b82 <https://reviews.llvm.org/rGab411801b82783eb7f652701ccfce81b16cf1811>        | 11:34         | 11:15        | -19s                    | -2.74%          |
|

Cannot claim huge build time improvements but seems like there are no real regressions.



================
Comment at: clang/lib/Serialization/ModuleManager.cpp:183
       // Get a buffer of the file and close the file descriptor when done.
-      Buf = FileMgr.getBufferForFile(NewModule->File, /*isVolatile=*/false);
+      Buf = FileMgr.getBufferForFile(NewModule->File, /*isVolatile=*/true);
     }
----------------
Made this change because if we don't have a valid module but opened a corresponding .pcm file earlier, there is a high chance that .pcm file was rebuilt.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72860/new/

https://reviews.llvm.org/D72860





More information about the cfe-commits mailing list