Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 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
llvm::Pass *createJSONExporterPass();
17
llvm::Pass *createJSONImporterPass();
18
llvm::Pass *createJSONImporterPrinterLegacyPass(llvm::raw_ostream &OS);
19
 
20
/// This pass exports a scop to a jscop file. The filename is generated from the
21
/// concatenation of the function and scop name.
22
struct JSONExportPass final : llvm::PassInfoMixin<JSONExportPass> {
23
  llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
24
                              ScopStandardAnalysisResults &, SPMUpdater &);
25
};
26
 
27
/// This pass imports a scop from a jscop file. The filename is deduced from the
28
/// concatenation of the function and scop name.
29
struct JSONImportPass final : llvm::PassInfoMixin<JSONExportPass> {
30
  llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
31
                              ScopStandardAnalysisResults &, SPMUpdater &);
32
};
33
} // namespace polly
34
 
35
namespace llvm {
36
void initializeJSONExporterPass(llvm::PassRegistry &);
37
void initializeJSONImporterPass(llvm::PassRegistry &);
38
void initializeJSONImporterPrinterLegacyPassPass(llvm::PassRegistry &);
39
} // namespace llvm
40
 
41
#endif /* POLLY_JSONEXPORTER_H */