[Index] Don't generate a unit file when building implicit modules #10848
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When compiling a file that requires a module to be compiled, we cloned the compiler instance for the module compile. This means that the cloned compiler instance still had the index store path and index unit output path of the original file. We were thus generating a unit file with the original file name for the compiled module. This unit file would ultimately get overwritten when the original source file was compiled, so there was no correctness issue per se but this means we were doing unnecessary work.
Disable emitting an index store for module compiles to fix this.
Compared to #10846, this reduces the overhead of index-while-building by 8.2% (3.00% to 2.76%), based on a single test project with indexing of PCMs disabled.