[llvm] r186788 - Make the mem2reg interface use an ArrayRef as it keeps a copy of these
Chandler Carruth
chandlerc at gmail.com
Sun Jul 21 01:37:58 PDT 2013
Author: chandlerc
Date: Sun Jul 21 03:37:58 2013
New Revision: 186788
URL: http://llvm.org/viewvc/llvm-project?rev=186788&view=rev
Log:
Make the mem2reg interface use an ArrayRef as it keeps a copy of these
to iterate over.
Modified:
llvm/trunk/include/llvm/Transforms/Utils/PromoteMemToReg.h
llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Modified: llvm/trunk/include/llvm/Transforms/Utils/PromoteMemToReg.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/PromoteMemToReg.h?rev=186788&r1=186787&r2=186788&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Utils/PromoteMemToReg.h (original)
+++ llvm/trunk/include/llvm/Transforms/Utils/PromoteMemToReg.h Sun Jul 21 03:37:58 2013
@@ -15,7 +15,7 @@
#ifndef LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H
#define LLVM_TRANSFORMS_UTILS_PROMOTEMEMTOREG_H
-#include <vector>
+#include "llvm/ADT/ArrayRef.h"
namespace llvm {
@@ -40,8 +40,8 @@ bool isAllocaPromotable(const AllocaInst
///
/// 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 = 0);
} // End llvm namespace
Modified: llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp?rev=186788&r1=186787&r2=186788&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Sun Jul 21 03:37:58 2013
@@ -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<const BasicBlock *, unsigned> BBNumPreds;
public:
- PromoteMem2Reg(const std::vector<AllocaInst *> &Allocas, DominatorTree &DT,
+ PromoteMem2Reg(ArrayRef<AllocaInst *> 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<AllocaInst *> &Allocas,
- DominatorTree &DT, AliasSetTracker *AST) {
+void llvm::PromoteMemToReg(ArrayRef<AllocaInst *> Allocas, DominatorTree &DT,
+ AliasSetTracker *AST) {
// If there is nothing to do, bail out...
if (Allocas.empty())
return;
More information about the llvm-commits
mailing list