aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Foad <jay.foad@gmail.com>2011-07-19 14:42:50 +0000
committerJay Foad <jay.foad@gmail.com>2011-07-19 14:42:50 +0000
commitca12a2139e7ed8b5f30df9927494dd7aae929a7c (patch)
tree44f06b53124dd34cdd6f1ec9771550d25fef644f
parent8fbbb3980755d74539a0aed02bc18842ed2bd18d (diff)
downloadexternal_llvm-ca12a2139e7ed8b5f30df9927494dd7aae929a7c.zip
external_llvm-ca12a2139e7ed8b5f30df9927494dd7aae929a7c.tar.gz
external_llvm-ca12a2139e7ed8b5f30df9927494dd7aae929a7c.tar.bz2
Convert gep_type_begin and gep_type_end to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135481 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/ReleaseNotes.html2
-rw-r--r--include/llvm/Support/GetElementPtrTypeIterator.h16
-rw-r--r--lib/Target/TargetData.cpp2
3 files changed, 11 insertions, 9 deletions
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index c7d4b48..ccfe2ed 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -635,6 +635,8 @@ from the previous release.</p>
<li><code>ExtractValueInst::getIndexedType</code></li>
<li><code>ExtractValueInst::getIndices</code></li>
<li><code>FindInsertedValue</code> (in <code>llvm/Analysis/ValueTracking.h</code>)</li>
+<li><code>gep_type_begin</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li>
+<li><code>gep_type_end</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li>
<li><code>IRBuilder::CreateCall</code></li>
<li><code>IRBuilder::CreateExtractValue</code></li>
<li><code>IRBuilder::CreateInsertValue</code></li>
diff --git a/include/llvm/Support/GetElementPtrTypeIterator.h b/include/llvm/Support/GetElementPtrTypeIterator.h
index 526afd4..ef92c95 100644
--- a/include/llvm/Support/GetElementPtrTypeIterator.h
+++ b/include/llvm/Support/GetElementPtrTypeIterator.h
@@ -97,16 +97,16 @@ namespace llvm {
return gep_type_iterator::end(GEP.op_end());
}
- template<typename ItTy>
- inline generic_gep_type_iterator<ItTy>
- gep_type_begin(Type *Op0, ItTy I, ItTy E) {
- return generic_gep_type_iterator<ItTy>::begin(Op0, I);
+ template<typename T>
+ inline generic_gep_type_iterator<const T *>
+ gep_type_begin(Type *Op0, ArrayRef<T> A) {
+ return generic_gep_type_iterator<const T *>::begin(Op0, A.begin());
}
- template<typename ItTy>
- inline generic_gep_type_iterator<ItTy>
- gep_type_end(Type *Op0, ItTy I, ItTy E) {
- return generic_gep_type_iterator<ItTy>::end(E);
+ template<typename T>
+ inline generic_gep_type_iterator<const T *>
+ gep_type_end(Type *Op0, ArrayRef<T> A) {
+ return generic_gep_type_iterator<const T *>::end(A.end());
}
} // end namespace llvm
diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp
index 5ef932f..1dfd9a8 100644
--- a/lib/Target/TargetData.cpp
+++ b/lib/Target/TargetData.cpp
@@ -528,7 +528,7 @@ uint64_t TargetData::getIndexedOffset(Type *ptrTy,
uint64_t Result = 0;
generic_gep_type_iterator<Value* const*>
- TI = gep_type_begin(ptrTy, Indices.begin(), Indices.end());
+ TI = gep_type_begin(ptrTy, Indices);
for (unsigned CurIDX = 0, EndIDX = Indices.size(); CurIDX != EndIDX;
++CurIDX, ++TI) {
if (StructType *STy = dyn_cast<StructType>(*TI)) {