[all-commits] [llvm/llvm-project] c592b6: [clang][modules] Serialize `CodeGenOptions` (#146422)

Jan Svoboda via All-commits all-commits at lists.llvm.org
Tue Jul 15 12:45:30 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c592b61fc82c79366216ae12b25b0130359b0a26
      https://github.com/llvm/llvm-project/commit/c592b61fc82c79366216ae12b25b0130359b0a26
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-07-15 (Tue, 15 Jul 2025)

  Changed paths:
    M clang-tools-extra/clangd/ModulesBuilder.cpp
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/lib/Basic/CodeGenOptions.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/ChainedIncludesSource.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/PrecompiledPreamble.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/GeneratePCH.cpp
    M clang/test/PCH/no-validate-pch.cl
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    A llvm/clang/test/Modules/implicit-opt-level.c

  Log Message:
  -----------
  [clang][modules] Serialize `CodeGenOptions` (#146422)

Some `LangOptions` duplicate their `CodeGenOptions` counterparts. My
understanding is that this was done solely because some infrastructure
(like preprocessor initialization, serialization, module compatibility
checks, etc.) were only possible/convenient for `LangOptions`. This PR
implements the missing support for `CodeGenOptions`, which makes it
possible to remove some duplicate `LangOptions` fields and simplify the
logic. Motivated by https://github.com/llvm/llvm-project/pull/146342.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list