[LoopVectorize] Ignore @llvm.assume for cost estimates and legality
[oota-llvm.git] / include / llvm / Transforms / Utils / UnrollLoop.h
index a9c0bf6968a7ab393f41df17715a8df1af8c2922..0b88d251558e086efa151999652efe37e4f92847 100644 (file)
 #ifndef LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
 #define LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
 
-#include "llvm/Analysis/LoopInfo.h"
-
 namespace llvm {
 
+class AssumptionTracker;
+class Loop;
+class LoopInfo;
 class LPPassManager;
+class Pass;
 
-bool UnrollLoop(Loop *L, unsigned Count, LoopInfo* LI, LPPassManager* LPM);
+bool UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool AllowRuntime,
+                unsigned TripMultiple, LoopInfo *LI, Pass *PP,
+                LPPassManager *LPM, AssumptionTracker *AT);
 
+bool UnrollRuntimeLoopProlog(Loop *L, unsigned Count, LoopInfo *LI,
+                             LPPassManager* LPM);
 }
 
 #endif