Polly 22.0.0git
Canonicalization.h
Go to the documentation of this file.
1//===--- Canonicalization.h - Set of canonicalization passes ----*- 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#ifndef POLLY_CANONICALIZATION_H
10#define POLLY_CANONICALIZATION_H
11
12#include "llvm/Passes/PassBuilder.h"
13
14namespace polly {
15
16/// Schedule a set of canonicalization passes to prepare for Polly.
17///
18/// The set of optimization passes was partially taken/copied from the
19/// set of default optimization passes in LLVM. It is used to bring the code
20/// into a canonical form that simplifies the analysis and optimization passes
21/// of Polly. The set of optimization passes scheduled here is probably not yet
22/// optimal. TODO: Optimize the set of canonicalization passes.
23llvm::FunctionPassManager
24buildCanonicalicationPassesForNPM(llvm::ModulePassManager &MPM,
25 llvm::OptimizationLevel Level);
26
27} // namespace polly
28
29#endif
llvm::FunctionPassManager buildCanonicalicationPassesForNPM(llvm::ModulePassManager &MPM, llvm::OptimizationLevel Level)
Schedule a set of canonicalization passes to prepare for Polly.