diff options
author | Pete Cooper <peter_cooper@apple.com> | 2015-05-13 01:12:16 +0000 |
---|---|---|
committer | Pete Cooper <peter_cooper@apple.com> | 2015-05-13 01:12:16 +0000 |
commit | 41e0ee30748f021dba3e0ea039dee50ad0e97f9a (patch) | |
tree | 5887625435f9b351d28519437337cab6e880ca85 /llvm/lib/Transforms/Utils/SSAUpdater.cpp | |
parent | 4bf388d9ad9df5ef1877d306313e83db35b183b4 (diff) | |
download | llvm-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.cpp | 6 |
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); |