Make use of @llvm.assume in ValueTracking (computeKnownBits, etc.)
[oota-llvm.git] / include / llvm / Transforms / Utils / PromoteMemToReg.h
index fde4b81d7f1f2e496e483244d5b9333794f5461e..3fdd5e9203c1e95958e27f50cd0a047be3e2667b 100644 (file)
 #ifndef LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H
 #define LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H
 
-#include <vector>
+#include "llvm/ADT/ArrayRef.h"
 
 namespace llvm {
 
 class AllocaInst;
 class DominatorTree;
 class AliasSetTracker;
+class AssumptionTracker;
 
 /// \brief Return true if this alloca is legal for promotion.
 ///
@@ -40,8 +41,9 @@ bool isAllocaPromotable(const AllocaInst *AI);
 ///
 /// If AST is specified, the specified tracker is updated to reflect changes
 /// made to the IR.
-void PromoteMemToReg(const std::vector<AllocaInst*> &Allocas,
-                     DominatorTree &DT, AliasSetTracker *AST = 0);
+void PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
+                     AliasSetTracker *AST = nullptr,
+                     AssumptionTracker *AT = nullptr);
 
 } // End llvm namespace