[PATCH] D33615: Move summary dead stripping before regular LTO and record results in the combined summary

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 30 14:22:01 PDT 2017


eugenis added a comment.

In fact, we already have a bit in GVFlags that's not used in ThinLTO backend: LiveRoot, and we need a way to pass this data to RegularLTO pass anyway, so let's use that. I've renamed it to just "Live"; in per-module summaries it is used to mark liveroot globals, and in combined summary it marks all live globals.

It does not have to be serialized, but since we serialize LiveRoot already, there is no regression. I can remove serialization in a separate change, but that would create a situation where part of GVFlags is lost when passed through bitcode, and it could be confusing. Perhaps that should be part of a larger refactoring that would separate data that must be passed from thin link to thin backend from module summary data.

WDYT?


Repository:
  rL LLVM

https://reviews.llvm.org/D33615





More information about the llvm-commits mailing list