[PATCH] D53890: [LTO] Record LTOUnit flag in index and validate during LTO link

Teresa Johnson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 20 13:51:47 PST 2018


tejohnson updated this revision to Diff 174834.
tejohnson added a comment.

Changed to use a new module flag to represent whether splitting enabled.
This has a couple advantages:

1. Cleaner - doesn't require threading the flag through various interfaces.
2. For my follow on patch to add new summary info for index-based WPD,

need to know whether splitting enabled during buildModuleSummaryIndex,
and it is not clear how to pass down a flag when this is invoked via
ModuleSummaryIndexAnalysis::run* invoked by getResult<>/getAnalysis<>
from the BitcodeWriterPass. Adding the flag to the index after the index
is built (previous version) is too late.


Repository:
  rL LLVM

https://reviews.llvm.org/D53890

Files:
  include/llvm/Bitcode/BitcodeReader.h
  include/llvm/IR/ModuleSummaryIndex.h
  include/llvm/LTO/LTO.h
  lib/Analysis/ModuleSummaryAnalysis.cpp
  lib/Bitcode/Reader/BitcodeReader.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/LTO/LTO.cpp
  lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  test/Bitcode/thinlto-alias.ll
  test/Bitcode/thinlto-alias2.ll
  test/Bitcode/thinlto-deadstrip-flag.ll
  test/Bitcode/thinlto-function-summary-callgraph-cast.ll
  test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
  test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
  test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
  test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
  test/Bitcode/thinlto-function-summary-callgraph.ll
  test/Bitcode/thinlto-function-summary.ll
  test/LTO/Resolution/X86/lto-unit-check.ll
  test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
  test/tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll
  tools/opt/opt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53890.174834.patch
Type: text/x-patch
Size: 20241 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181120/2b836d42/attachment.bin>


More information about the llvm-commits mailing list