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 18 namespace llvm { 19 class PassRegistry; 20 class Pass; 21 } // namespace llvm 22 23 namespace polly { 24 llvm::Pass *createFlattenSchedulePass(); 25 } // namespace polly 26 27 namespace llvm { 28 void initializeFlattenSchedulePass(llvm::PassRegistry &); 29 } // namespace llvm 30 31 #endif /* POLLY_FLATTENSCHEDULE_H */ 32