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/MaximalStaticExpansion.h - expand memory access -*- 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
// This pass fully expand the memory accesses of a Scop to get rid of
10
// dependencies.
11
//
12
//===----------------------------------------------------------------------===//
13
 
14
#ifndef POLLY_MAXIMALSTATICEXPANSION_H
15
#define POLLY_MAXIMALSTATICEXPANSION_H
16
 
17
#include "polly/ScopPass.h"
18
#include "llvm/IR/PassManager.h"
19
 
20
namespace polly {
21
 
22
class MaximalStaticExpansionPass
23
    : public llvm::PassInfoMixin<MaximalStaticExpansionPass> {
24
public:
25
  llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
26
                              ScopStandardAnalysisResults &, SPMUpdater &);
27
};
28
 
29
struct MaximalStaticExpansionPrinterPass
30
    : llvm::PassInfoMixin<MaximalStaticExpansionPrinterPass> {
31
  MaximalStaticExpansionPrinterPass(raw_ostream &OS) : OS(OS) {}
32
 
33
  PreservedAnalyses run(Scop &S, ScopAnalysisManager &,
34
                        ScopStandardAnalysisResults &SAR, SPMUpdater &);
35
 
36
private:
37
  llvm::raw_ostream &OS;
38
};
39
 
40
} // namespace polly
41
 
42
#endif /* POLLY_MAXIMALSTATICEXPANSION_H */