1 //===- PruneUnprofitable.h --------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // Mark a SCoP as unfeasible if not deemed profitable to optimize. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef POLLY_PRUNEUNPROFITABLE_H 14 #define POLLY_PRUNEUNPROFITABLE_H 15 16 #include "polly/ScopPass.h" 17 18 namespace llvm { 19 class Pass; 20 class PassRegistry; 21 } // namespace llvm 22 23 namespace polly { 24 llvm::Pass *createPruneUnprofitableWrapperPass(); 25 26 struct PruneUnprofitablePass final 27 : llvm::PassInfoMixin<PruneUnprofitablePass> { PruneUnprofitablePassfinal28 PruneUnprofitablePass() {} 29 30 llvm::PreservedAnalyses run(Scop &S, ScopAnalysisManager &SAM, 31 ScopStandardAnalysisResults &SAR, SPMUpdater &U); 32 }; 33 } // namespace polly 34 35 namespace llvm { 36 void initializePruneUnprofitableWrapperPassPass(PassRegistry &); 37 } 38 39 #endif // POLLY_PRUNEUNPROFITABLE_H 40