diff options
author | Vitaly Buka <vitalybuka@google.com> | 2020-06-02 01:19:57 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2020-06-10 21:02:54 -0700 |
commit | 5b1c70a48d97513563ced9f39c631f302c071c75 (patch) | |
tree | 14cec44a512b3a5381a04368f6a808303732e88b /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | 4880853fb65c0270afc50467ebaaa9dafd25fa9d (diff) | |
download | llvm-5b1c70a48d97513563ced9f39c631f302c071c75.zip llvm-5b1c70a48d97513563ced9f39c631f302c071c75.tar.gz llvm-5b1c70a48d97513563ced9f39c631f302c071c75.tar.bz2 |
[StackSafety] Pass summary into codegen
Summary:
The patch wraps ThinLTO index into immutable
pass which can be used by StackSafety analysis.
Reviewers: eugenis, pcc
Reviewed By: eugenis
Subscribers: hiraditya, steven_wu, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D80985
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
-rw-r--r-- | llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp index 9950798..e7d529d 100644 --- a/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp +++ b/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp @@ -909,3 +909,25 @@ void ModuleSummaryIndexWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<ProfileSummaryInfoWrapperPass>(); AU.addRequired<StackSafetyInfoWrapperPass>(); } + +char ImmutableModuleSummaryIndexWrapperPass::ID = 0; + +ImmutableModuleSummaryIndexWrapperPass::ImmutableModuleSummaryIndexWrapperPass( + const ModuleSummaryIndex *Index) + : ImmutablePass(ID), Index(Index) { + initializeImmutableModuleSummaryIndexWrapperPassPass( + *PassRegistry::getPassRegistry()); +} + +void ImmutableModuleSummaryIndexWrapperPass::getAnalysisUsage( + AnalysisUsage &AU) const { + AU.setPreservesAll(); +} + +ImmutablePass *llvm::createImmutableModuleSummaryIndexWrapperPass( + const ModuleSummaryIndex *Index) { + return new ImmutableModuleSummaryIndexWrapperPass(Index); +} + +INITIALIZE_PASS(ImmutableModuleSummaryIndexWrapperPass, "module-summary-info", + "Module summary info", false, true) |