HomePhabricator

[PGO] Make indirect call promotion a utility

Description

[PGO] Make indirect call promotion a utility

This patch factors out the main code transformation utilities in the pgo-driven
indirect call promotion pass and places them in Transforms/Utils. The change is
intended to be a non-functional change, letting non-pgo-driven passes share a
common implementation with the existing pgo-driven pass.

The common utilities are used to conditionally promote indirect call sites to
direct call sites. They perform the underlying transformation, and do not
consider profile information. The pgo-specific details (e.g., the computation
of branch weight metadata) have been left in the indirect call promotion pass.

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

Details

Committed
mssimpsoDec 6 2017, 1:22 PM
Differential Revision
D40658: [PGO] Make indirect call promotion a utility
Parents
rL319962: [WebAssembly] Commit a file I accidentally omitted from r319956.
Branches
Unknown
Tags
Unknown