diff --git a/include/llvm/Transforms/Utils/PromoteMemToReg.h b/include/llvm/Transforms/Utils/PromoteMemToReg.h index fde4b81d7f1..22f46e5fc96 100644 --- a/include/llvm/Transforms/Utils/PromoteMemToReg.h +++ b/include/llvm/Transforms/Utils/PromoteMemToReg.h @@ -15,7 +15,7 @@ #ifndef LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H #define LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H -#include +#include "llvm/ADT/ArrayRef.h" namespace llvm { @@ -40,8 +40,8 @@ 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 &Allocas, - DominatorTree &DT, AliasSetTracker *AST = 0); +void PromoteMemToReg(ArrayRef Allocas, DominatorTree &DT, + AliasSetTracker *AST = 0); } // End llvm namespace diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 5ee812bbe88..b4ee4cb87fd 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -27,6 +27,7 @@ #define DEBUG_TYPE "mem2reg" #include "llvm/Transforms/Utils/PromoteMemToReg.h" +#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/Hashing.h" #include "llvm/ADT/STLExtras.h" @@ -279,10 +280,10 @@ struct PromoteMem2Reg { DenseMap BBNumPreds; public: - PromoteMem2Reg(const std::vector &Allocas, DominatorTree &DT, + PromoteMem2Reg(ArrayRef Allocas, DominatorTree &DT, AliasSetTracker *AST) - : Allocas(Allocas), DT(DT), DIB(*DT.getRoot()->getParent()->getParent()), - AST(AST) {} + : Allocas(Allocas.begin(), Allocas.end()), DT(DT), + DIB(*DT.getRoot()->getParent()->getParent()), AST(AST) {} void run(); @@ -1089,8 +1090,8 @@ NextIteration: goto NextIteration; } -void llvm::PromoteMemToReg(const std::vector &Allocas, - DominatorTree &DT, AliasSetTracker *AST) { +void llvm::PromoteMemToReg(ArrayRef Allocas, DominatorTree &DT, + AliasSetTracker *AST) { // If there is nothing to do, bail out... if (Allocas.empty()) return;