[all-commits] [llvm/llvm-project] 31b056: make -fmodules-codegen and -fmodules-debuginfo wor...

Luboš Luňák via All-commits all-commits at lists.llvm.org
Thu Jul 9 06:23:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 31b05692cd33b6dcc39402169b36d895e1aa87f4
      https://github.com/llvm/llvm-project/commit/31b05692cd33b6dcc39402169b36d895e1aa87f4
  Author: Luboš Luňák <l.lunak at centrum.cz>
  Date:   2020-07-09 (Thu, 09 Jul 2020)

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/test/Modules/Inputs/codegen-flags/foo.h
    A clang/test/PCH/codegen.cpp

  Log Message:
  -----------
  make -fmodules-codegen and -fmodules-debuginfo work also with PCHs

Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here. The patch is fairly simple, it basically just
duplicates -fmodules checks to also alternatively check
-building-pch-with-obj.

This already got committed as cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74,
but then got reverted in 7ea9a6e0220da36ff2fd1fbc29c2755be23e5166
because of PR44953, as discussed in D74846. This is a corrected version
which does not include two places for the PCH case that aren't included
in the modules -fmodules-codegen path either.

Differential Revision: https://reviews.llvm.org/D69778




More information about the All-commits mailing list