HomePhabricator

[ThinLTO] Add summary entries for index-based WPD

Authored by tejohnson on Jul 2 2019, 12:38 PM.

Description

[ThinLTO] Add summary entries for index-based WPD

Summary:
If LTOUnit splitting is disabled, the module summary analysis computes
the summary information necessary to perform single implementation
devirtualization during the thin link with the index and no IR. The
information collected from the regular LTO IR in the current hybrid WPD
algorithm is summarized, including:

  1. For vtable definitions, record the function pointers and their offset

within the vtable initializer (subsumes the information collected from
IR by tryFindVirtualCallTargets).

  1. A record for each type metadata summarizing the vtable definitions

decorated with that metadata (subsumes the TypeIdentiferMap collected
from IR).

Also added are the necessary bitcode records, and the corresponding
assembly support.

The follow-on index-based WPD patch is D55153.

Depends on D53890.

Reviewers: pcc

Subscribers: mehdi_amini, Prazek, inglorion, eraman, steven_wu, dexonsmith, arphaman, llvm-commits

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

llvm-svn: 364960

Details

Committed
tejohnsonJul 2 2019, 12:38 PM
Differential Revision
D54815: [ThinLTO] Add summary entries for index-based WPD
Parents
rG5fe851b6cd90: AMDGPU: Custom lower vector_shuffle for v4i16/v4f16
Branches
Unknown
Tags
Unknown