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
20namespace polly {
21
22class MaximalStaticExpansionPass
23 : public llvm::PassInfoMixin<MaximalStaticExpansionPass> {
24public:
25 llvm::PreservedAnalyses run(Scop &, ScopAnalysisManager &,
26 ScopStandardAnalysisResults &, SPMUpdater &);
27};
28
29struct MaximalStaticExpansionPrinterPass
30 : llvm::PassInfoMixin<MaximalStaticExpansionPrinterPass> {
31 MaximalStaticExpansionPrinterPass(raw_ostream &OS) : OS(OS) {}
32
33 PreservedAnalyses run(Scop &S, ScopAnalysisManager &,
34 ScopStandardAnalysisResults &SAR, SPMUpdater &);
35
36private:
37 llvm::raw_ostream &OS;
38};
39
40} // namespace polly
41
42#endif /* POLLY_MAXIMALSTATICEXPANSION_H */
43

source code of polly/include/polly/MaximalStaticExpansion.h