Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:48:20

0001 //===- PruneUnprofitable.h --------------------------------------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // Mark a SCoP as unfeasible if not deemed profitable to optimize.
0010 //
0011 //===----------------------------------------------------------------------===//
0012 
0013 #ifndef POLLY_PRUNEUNPROFITABLE_H
0014 #define POLLY_PRUNEUNPROFITABLE_H
0015 
0016 #include "polly/ScopPass.h"
0017 
0018 namespace llvm {
0019 class Pass;
0020 class PassRegistry;
0021 } // namespace llvm
0022 
0023 namespace polly {
0024 llvm::Pass *createPruneUnprofitableWrapperPass();
0025 
0026 struct PruneUnprofitablePass final
0027     : llvm::PassInfoMixin<PruneUnprofitablePass> {
0028   PruneUnprofitablePass() {}
0029 
0030   llvm::PreservedAnalyses run(Scop &S, ScopAnalysisManager &SAM,
0031                               ScopStandardAnalysisResults &SAR, SPMUpdater &U);
0032 };
0033 } // namespace polly
0034 
0035 namespace llvm {
0036 void initializePruneUnprofitableWrapperPassPass(PassRegistry &);
0037 }
0038 
0039 #endif // POLLY_PRUNEUNPROFITABLE_H