• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- polly/JSONExporter.h - Import/Export to/from jscop files.-*- 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 #ifndef POLLY_JSONEXPORTER_H
10 #define POLLY_JSONEXPORTER_H
11 
12 #include "polly/ScopPass.h"
13 #include "llvm/IR/PassManager.h"
14 
15 namespace polly {
16 /// This pass exports a scop to a jscop file. The filename is generated from the
17 /// concatenation of the function and scop name.
18 struct JSONExportPass : public llvm::PassInfoMixin<JSONExportPass> {
19   llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
20                               ScopStandardAnalysisResults &, SPMUpdater &);
21 };
22 
23 /// This pass imports a scop from a jscop file. The filename is deduced from the
24 /// concatenation of the function and scop name.
25 struct JSONImportPass : public llvm::PassInfoMixin<JSONExportPass> {
26   llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
27                               ScopStandardAnalysisResults &, SPMUpdater &);
28 };
29 } // namespace polly
30 
31 #endif /* POLLY_JSONEXPORTER_H */
32