1 //===- LoopUnrollPass.h -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_TRANSFORMS_SCALAR_LOOPUNROLLPASS_H
11 #define LLVM_TRANSFORMS_SCALAR_LOOPUNROLLPASS_H
13 #include "llvm/Analysis/LoopInfo.h"
14 #include "llvm/Analysis/LoopPassManager.h"
15 #include "llvm/IR/PassManager.h"
19 struct LoopUnrollPass : public PassInfoMixin<LoopUnrollPass> {
20 Optional<unsigned> ProvidedCount;
21 Optional<unsigned> ProvidedThreshold;
22 Optional<bool> ProvidedAllowPartial;
23 Optional<bool> ProvidedRuntime;
24 Optional<bool> ProvidedUpperBound;
26 PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM);
28 } // end namespace llvm
30 #endif // LLVM_TRANSFORMS_SCALAR_LOOPUNROLLPASS_H