Change LoadAndStorePromoter to take ArrayRef instead of SmallVectorImpl&.
authorPete Cooper <peter_cooper@apple.com>
Wed, 13 May 2015 01:12:16 +0000 (01:12 +0000)
committerPete Cooper <peter_cooper@apple.com>
Wed, 13 May 2015 01:12:16 +0000 (01:12 +0000)
commit19a19a9ad1fe941e8cc10bb9ebbe8f1136007831
tree99eba9e88e9190c64728b4902e5022a1cc289db1
parenta0706f51ced00c4b1e243257340beb9502bdd113
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237226 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/SSAUpdater.h
lib/Transforms/Scalar/LICM.cpp
lib/Transforms/Scalar/SROA.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Utils/SSAUpdater.cpp