Back to home page

EIC code displayed by LXR

 
 

    


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

0001 //===- polly/JSONExporter.h - Import/Export to/from jscop files.-*- 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 #ifndef POLLY_JSONEXPORTER_H
0010 #define POLLY_JSONEXPORTER_H
0011 
0012 #include "polly/ScopPass.h"
0013 #include "llvm/IR/PassManager.h"
0014 
0015 namespace polly {
0016 llvm::Pass *createJSONExporterPass();
0017 llvm::Pass *createJSONImporterPass();
0018 llvm::Pass *createJSONImporterPrinterLegacyPass(llvm::raw_ostream &OS);
0019 
0020 /// This pass exports a scop to a jscop file. The filename is generated from the
0021 /// concatenation of the function and scop name.
0022 struct JSONExportPass final : llvm::PassInfoMixin<JSONExportPass> {
0023   llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
0024                               ScopStandardAnalysisResults &, SPMUpdater &);
0025 };
0026 
0027 /// This pass imports a scop from a jscop file. The filename is deduced from the
0028 /// concatenation of the function and scop name.
0029 struct JSONImportPass final : llvm::PassInfoMixin<JSONExportPass> {
0030   llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
0031                               ScopStandardAnalysisResults &, SPMUpdater &);
0032 };
0033 } // namespace polly
0034 
0035 namespace llvm {
0036 void initializeJSONExporterPass(llvm::PassRegistry &);
0037 void initializeJSONImporterPass(llvm::PassRegistry &);
0038 void initializeJSONImporterPrinterLegacyPassPass(llvm::PassRegistry &);
0039 } // namespace llvm
0040 
0041 #endif /* POLLY_JSONEXPORTER_H */