HomePhabricator

Re-factor sample profile reader into lib/ProfileData.

Description

Re-factor sample profile reader into lib/ProfileData.

Summary:
This patch moves the profile reading logic out of the Sample Profile
transformation into a generic profile reader facility in
lib/ProfileData.

The intent is to use this new reader to implement a sample profile
reader/writer that can be used to convert sample profiles from external
sources into LLVM.

This first patch introduces no functional changes. It moves the profile
reading code from lib/Transforms/SampleProfile.cpp into
lib/ProfileData/SampleProfReader.cpp.

In subsequent patches I will:

  • Add a bitcode format for sample profiles to allow for more efficient encoding of the profile.
  • Add a writer for both text and bitcode format profiles.
  • Add a 'convert' command to llvm-profdata to be able to convert between the two (and serve as entry point for other sample profile formats).

Reviewers: bogner, echristo

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D5250

Event Timeline