]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/include/llvm/Transforms/Scalar/IndVarSimplify.h
Merge llvm, clang, lld and lldb release_40 branch r292009. Also update
[FreeBSD/FreeBSD.git] / contrib / llvm / include / llvm / Transforms / Scalar / IndVarSimplify.h
1 //===- IndVarSimplify.h - Induction Variable Simplification -----*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file provides the interface for the Induction Variable
11 // Simplification pass.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_TRANSFORMS_SCALAR_INDVARSIMPLIFY_H
16 #define LLVM_TRANSFORMS_SCALAR_INDVARSIMPLIFY_H
17
18 #include "llvm/Analysis/LoopInfo.h"
19 #include "llvm/IR/PassManager.h"
20 #include "llvm/Transforms/Scalar/LoopPassManager.h"
21
22 namespace llvm {
23
24 class IndVarSimplifyPass : public PassInfoMixin<IndVarSimplifyPass> {
25 public:
26   PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM,
27                         LoopStandardAnalysisResults &AR, LPMUpdater &U);
28 };
29 }
30
31 #endif // LLVM_TRANSFORMS_SCALAR_INDVARSIMPLIFY_H