[PATCH] D123803: [WIP][llvm] A Unified LTO Bitcode Frontend

Matthew Voss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 14 09:39:55 PDT 2022


ormris created this revision.
ormris added reviewers: tejohnson, pcc, mehdi_amini.
ormris added a project: LLVM.
Herald added subscribers: arphaman, steven_wu, hiraditya, inglorion.
Herald added a project: All.
ormris requested review of this revision.
Herald added a subscriber: llvm-commits.

Here's a high level summary of the changes in this patch. For more information
on rational, see the RFC (link TBD).

- 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.


https://reviews.llvm.org/D123803

Files:
  llvm/include/llvm/Bitcode/BitcodeReader.h
  llvm/include/llvm/IR/ModuleSummaryIndex.h
  llvm/include/llvm/LTO/Config.h
  llvm/include/llvm/LTO/LTO.h
  llvm/include/llvm/Passes/PassBuilder.h
  llvm/include/llvm/Transforms/IPO.h
  llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
  llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
  llvm/include/llvm/Transforms/Utils/ModuleUtils.h
  llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  llvm/lib/IR/ModuleSummaryIndex.cpp
  llvm/lib/LTO/LTO.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassBuilderPipelines.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  llvm/lib/Transforms/Utils/ModuleUtils.cpp
  llvm/test/LTO/Resolution/X86/llvm-used-moduleid.ll
  llvm/test/LTO/Resolution/X86/local-def-dllimport.ll
  llvm/test/LTO/Resolution/X86/unified-lto-check.ll
  llvm/test/LTO/Resolution/X86/weak-linkage-moduleid.ll
  llvm/test/LTO/X86/Inputs/unified-cfi.o
  llvm/test/LTO/X86/Inputs/unified-wpt-crash.o
  llvm/test/LTO/X86/cfi-func-remove.ll
  llvm/test/LTO/X86/path-moduleid.ll
  llvm/test/LTO/X86/unified-cfi.ll
  llvm/test/LTO/X86/unified-internalize.ll
  llvm/test/LTO/X86/whole-program-no-crash.ll
  llvm/test/ThinLTO/X86/dup-cgprofile-flag.ll
  llvm/test/Transforms/ThinLTOBitcodeWriter/split-unified.ll
  llvm/test/Transforms/Util/generate-moduleid.ll
  llvm/tools/llvm-lto2/llvm-lto2.cpp
  llvm/tools/opt/NewPMDriver.cpp
  llvm/tools/opt/NewPMDriver.h
  llvm/tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123803.422894.patch
Type: text/x-patch
Size: 57520 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220414/d95dbae4/attachment.bin>


More information about the llvm-commits mailing list