From 30c016f41f6e5c2dc594c16af51cfa9369c4e0fa Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sun, 21 Jul 2013 08:37:58 +0000 Subject: [PATCH] Make the mem2reg interface use an ArrayRef as it keeps a copy of these to iterate over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186788 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Transforms/Utils/PromoteMemToReg.h | 6 +++--- lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) 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; -- 2.34.1