aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SSAUpdater.cpp
diff options
context:
space:
mode:
authorPete Cooper <peter_cooper@apple.com>2015-05-13 01:12:16 +0000
committerPete Cooper <peter_cooper@apple.com>2015-05-13 01:12:16 +0000
commit41e0ee30748f021dba3e0ea039dee50ad0e97f9a (patch)
tree5887625435f9b351d28519437337cab6e880ca85 /llvm/lib/Transforms/Utils/SSAUpdater.cpp
parent4bf388d9ad9df5ef1877d306313e83db35b183b4 (diff)
downloadllvm-41e0ee30748f021dba3e0ea039dee50ad0e97f9a.zip
llvm-41e0ee30748f021dba3e0ea039dee50ad0e97f9a.tar.gz
llvm-41e0ee30748f021dba3e0ea039dee50ad0e97f9a.tar.bz2
Change LoadAndStorePromoter to take ArrayRef instead of SmallVectorImpl&.
The array passed to LoadAndStorePromoter's constructor was a constant reference to a SmallVectorImpl, which is just the same as passing an ArrayRef. Also, the data in the array can be 'const Instruction*' instead of 'Instruction*'. Its not possible to convert a SmallVectorImpl<T*> to SmallVectorImpl<const T*>, but ArrayRef does provide such a method. Currently this added calls to makeArrayRef which should be a nop, but i'm going to kick off a discussion about improving ArrayRef to not need these. llvm-svn: 237226
Diffstat (limited to 'llvm/lib/Transforms/Utils/SSAUpdater.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SSAUpdater.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Utils/SSAUpdater.cpp b/llvm/lib/Transforms/Utils/SSAUpdater.cpp
index 955ce30..88b39dd 100644
--- a/llvm/lib/Transforms/Utils/SSAUpdater.cpp
+++ b/llvm/lib/Transforms/Utils/SSAUpdater.cpp
@@ -322,12 +322,12 @@ Value *SSAUpdater::GetValueAtEndOfBlockInternal(BasicBlock *BB) {
//===----------------------------------------------------------------------===//
LoadAndStorePromoter::
-LoadAndStorePromoter(const SmallVectorImpl<Instruction*> &Insts,
+LoadAndStorePromoter(ArrayRef<const Instruction*> Insts,
SSAUpdater &S, StringRef BaseName) : SSA(S) {
if (Insts.empty()) return;
- Value *SomeVal;
- if (LoadInst *LI = dyn_cast<LoadInst>(Insts[0]))
+ const Value *SomeVal;
+ if (const LoadInst *LI = dyn_cast<LoadInst>(Insts[0]))
SomeVal = LI;
else
SomeVal = cast<StoreInst>(Insts[0])->getOperand(0);