1//===------ FlattenSchedule.h ----------------------------------*- 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// Try to reduce the number of scatter dimension. Useful to make isl_union_map
10// schedules more understandable. This is only intended for debugging and
11// unittests, not for optimizations themselves.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef POLLY_FLATTENSCHEDULE_H
16#define POLLY_FLATTENSCHEDULE_H
17
18namespace llvm {
19class PassRegistry;
20class Pass;
21class raw_ostream;
22} // namespace llvm
23
24namespace polly {
25llvm::Pass *createFlattenSchedulePass();
26llvm::Pass *createFlattenSchedulePrinterLegacyPass(llvm::raw_ostream &OS);
27} // namespace polly
28
29namespace llvm {
30void initializeFlattenSchedulePass(llvm::PassRegistry &);
31void initializeFlattenSchedulePrinterLegacyPassPass(llvm::PassRegistry &);
32} // namespace llvm
33
34#endif /* POLLY_FLATTENSCHEDULE_H */
35

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