File indexing completed on 2026-05-10 08:48:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef POLLY_FORWARDOPTREE_H
0014 #define POLLY_FORWARDOPTREE_H
0015
0016 #include "polly/ScopPass.h"
0017
0018 namespace llvm {
0019 class PassRegistry;
0020 }
0021
0022 namespace polly {
0023 llvm::Pass *createForwardOpTreeWrapperPass();
0024 llvm::Pass *createForwardOpTreePrinterLegacyPass(llvm::raw_ostream &OS);
0025
0026 struct ForwardOpTreePass final : llvm::PassInfoMixin<ForwardOpTreePass> {
0027 ForwardOpTreePass() {}
0028
0029 llvm::PreservedAnalyses run(Scop &S, ScopAnalysisManager &SAM,
0030 ScopStandardAnalysisResults &SAR, SPMUpdater &U);
0031 };
0032
0033 struct ForwardOpTreePrinterPass final
0034 : llvm::PassInfoMixin<ForwardOpTreePrinterPass> {
0035 ForwardOpTreePrinterPass(raw_ostream &OS) : OS(OS) {}
0036
0037 PreservedAnalyses run(Scop &S, ScopAnalysisManager &,
0038 ScopStandardAnalysisResults &SAR, SPMUpdater &);
0039
0040 private:
0041 llvm::raw_ostream &OS;
0042 };
0043
0044 }
0045
0046 namespace llvm {
0047 void initializeForwardOpTreeWrapperPassPass(PassRegistry &);
0048 void initializeForwardOpTreePrinterLegacyPassPass(PassRegistry &);
0049 }
0050
0051 #endif