[all-commits] [llvm/llvm-project] a1ca3a: [llvm] A Unified LTO Bitcode Frontend

Matthew Voss via All-commits all-commits at lists.llvm.org
Wed Jul 5 14:53:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a1ca3af31eeec61cfb9d619f55b655b0eb0b9494
      https://github.com/llvm/llvm-project/commit/a1ca3af31eeec61cfb9d619f55b655b0eb0b9494
  Author: Matthew Voss <matthew.voss at sony.com>
  Date:   2023-07-05 (Wed, 05 Jul 2023)

  Changed paths:
    M llvm/include/llvm/Bitcode/BitcodeReader.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/LTO/LTO.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/ModuleSummaryIndex.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/test/LTO/Resolution/X86/local-def-dllimport.ll
    A llvm/test/LTO/Resolution/X86/unified-lto-check.ll
    A llvm/test/LTO/X86/cfi-func-remove.ll
    A llvm/test/LTO/X86/unified-cfi.ll
    A llvm/test/LTO/X86/unified-internalize.ll
    M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
    A llvm/test/Transforms/ThinLTOBitcodeWriter/split-unified.ll
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/tools/opt/NewPMDriver.h
    M llvm/tools/opt/opt.cpp

  Log Message:
  -----------
  [llvm] A Unified LTO Bitcode Frontend

Here's a high level summary of the changes in this patch. For more
information on rational, see the RFC.
(https://discourse.llvm.org/t/rfc-a-unified-lto-bitcode-frontend/61774).

  - Add config parameter to LTO backend, specifying which LTO mode is
    desired when using unified LTO.
  - Add unified LTO flag to the summary index for efficiency. Unified
    LTO modules can be detected without parsing the module.
  - Make sure that the ModuleID is generated by incorporating more types
    of symbols.

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




More information about the All-commits mailing list