mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
Summary: In SamplePGO ThinLTO compile phase, we will not invoke ICP as it may introduce confusion to the 2nd annotation. This patch extracted that logic and makes it clearer before profile annotation. In the mean time, we need to make function importing process both inlined callsites as well as not promoted indirect callsites. Reviewers: tejohnson Reviewed By: tejohnson Subscribers: sanjoy, mehdi_amini, llvm-commits, inglorion Differential Revision: https://reviews.llvm.org/D38094 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314619 91177308-0d34-0410-b5e6-96231b3b80d8
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
//===- Transforms/SampleProfile.h - SamplePGO pass--------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
/// \file
|
|
/// This file provides the interface for the sampled PGO loader pass.
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_TRANSFORMS_SAMPLEPROFILE_H
|
|
#define LLVM_TRANSFORMS_SAMPLEPROFILE_H
|
|
|
|
#include "llvm/IR/PassManager.h"
|
|
|
|
namespace llvm {
|
|
|
|
/// The sample profiler data loader pass.
|
|
class SampleProfileLoaderPass : public PassInfoMixin<SampleProfileLoaderPass> {
|
|
public:
|
|
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
|
|
SampleProfileLoaderPass(std::string File = "", bool IsThinLTOPreLink = false)
|
|
: ProfileFileName(File), IsThinLTOPreLink(IsThinLTOPreLink) {}
|
|
|
|
private:
|
|
std::string ProfileFileName;
|
|
bool IsThinLTOPreLink;
|
|
};
|
|
|
|
} // End llvm namespace
|
|
#endif
|