Skip to content

Commit a1ea211

Browse files
committed
Add llvm::iterator_range to LLVM.h
If we're going to get rid of swift::IteratorRange, let's make llvm::iterator_range easy to use. No functionality change.
1 parent 7b0d081 commit a1ea211

File tree

16 files changed

+27
-29
lines changed

16 files changed

+27
-29
lines changed

include/swift/AST/Attr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1672,7 +1672,7 @@ class DeclAttributes {
16721672
public:
16731673
template <typename ATTR, bool AllowInvalid>
16741674
using AttributeKindRange =
1675-
OptionalTransformRange<llvm::iterator_range<const_iterator>,
1675+
OptionalTransformRange<iterator_range<const_iterator>,
16761676
ToAttributeKind<ATTR, AllowInvalid>,
16771677
const_iterator>;
16781678

include/swift/AST/DeclContext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ class DeclIterator {
667667

668668
/// The range of declarations stored within an iterable declaration
669669
/// context.
670-
typedef llvm::iterator_range<DeclIterator> DeclRange;
670+
using DeclRange = iterator_range<DeclIterator>;
671671

672672
/// The kind of an \c IterableDeclContext.
673673
enum class IterableDeclContextKind : uint8_t {

include/swift/AST/Types.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3965,8 +3965,7 @@ class SILFunctionType final : public TypeBase, public llvm::FoldingSetNode,
39653965
};
39663966
using IndirectFormalResultIter =
39673967
llvm::filter_iterator<const SILResultInfo *, IndirectFormalResultFilter>;
3968-
using IndirectFormalResultRange =
3969-
llvm::iterator_range<IndirectFormalResultIter>;
3968+
using IndirectFormalResultRange = iterator_range<IndirectFormalResultIter>;
39703969

39713970
/// A range of SILResultInfo for all formally indirect results.
39723971
IndirectFormalResultRange getIndirectFormalResults() const {
@@ -3980,7 +3979,7 @@ class SILFunctionType final : public TypeBase, public llvm::FoldingSetNode,
39803979
};
39813980
using DirectFormalResultIter =
39823981
llvm::filter_iterator<const SILResultInfo *, DirectFormalResultFilter>;
3983-
using DirectFormalResultRange = llvm::iterator_range<DirectFormalResultIter>;
3982+
using DirectFormalResultRange = iterator_range<DirectFormalResultIter>;
39843983

39853984
/// A range of SILResultInfo for all formally direct results.
39863985
DirectFormalResultRange getDirectFormalResults() const {

include/swift/Basic/BlotSetVector.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ class BlotSetVector {
6767

6868
ArrayRef<Optional<ValueT>> getArray() const { return vector; }
6969

70-
llvm::iterator_range<const_iterator> getRange() const {
70+
iterator_range<const_iterator> getRange() const {
7171
return {begin(), end()};
7272
}
7373

7474
using const_reverse_iterator = typename VectorT::const_reverse_iterator;
7575
const_reverse_iterator rbegin() const { return vector.rbegin(); }
7676
const_reverse_iterator rend() const { return vector.rend(); }
77-
llvm::iterator_range<const_reverse_iterator> getReverseRange() const {
77+
iterator_range<const_reverse_iterator> getReverseRange() const {
7878
return {rbegin(), rend()};
7979
}
8080

include/swift/Basic/LLVM.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ namespace llvm {
4343
template<typename T> class TinyPtrVector;
4444
template<typename T> class Optional;
4545
template <typename ...PTs> class PointerUnion;
46+
template <typename IteratorT> class iterator_range;
4647
class SmallBitVector;
4748

4849
// Other common classes.
@@ -63,6 +64,7 @@ namespace swift {
6364

6465
// Containers.
6566
using llvm::ArrayRef;
67+
using llvm::iterator_range;
6668
using llvm::MutableArrayRef;
6769
using llvm::None;
6870
using llvm::Optional;

include/swift/Basic/Range.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444

4545
namespace swift {
4646
using llvm::make_range;
47-
using llvm::iterator_range;
4847

4948
template<typename T>
5049
inline auto reversed(T &&container)

include/swift/SIL/Notifications.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ class DeserializationNotificationHandlerSet final
194194
using iterator = llvm::mapped_iterator<
195195
decltype(handlerSet)::const_iterator,
196196
decltype(&DeserializationNotificationHandlerSet::getUnderlyingHandler)>;
197-
using range = llvm::iterator_range<iterator>;
197+
using range = iterator_range<iterator>;
198198

199199
/// Returns an iterator to the first element of the handler set.
200200
///

include/swift/SIL/SILFunctionConventions.h

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,7 @@ class SILFunctionConventions {
209209

210210
using IndirectSILResultTypeIter =
211211
llvm::mapped_iterator<IndirectSILResultIter, SILResultTypeFunc>;
212-
using IndirectSILResultTypeRange =
213-
llvm::iterator_range<IndirectSILResultTypeIter>;
212+
using IndirectSILResultTypeRange = iterator_range<IndirectSILResultTypeIter>;
214213

215214
/// Return a range of SILTypes for each result passed as an address-typed SIL
216215
/// argument.
@@ -234,7 +233,7 @@ class SILFunctionConventions {
234233
};
235234
using DirectSILResultIter =
236235
llvm::filter_iterator<const SILResultInfo *, DirectSILResultFilter>;
237-
using DirectSILResultRange = llvm::iterator_range<DirectSILResultIter>;
236+
using DirectSILResultRange = iterator_range<DirectSILResultIter>;
238237

239238
/// Return a range of direct result information for results directly returned
240239
/// by SIL value.
@@ -245,8 +244,7 @@ class SILFunctionConventions {
245244

246245
using DirectSILResultTypeIter =
247246
llvm::mapped_iterator<DirectSILResultIter, SILResultTypeFunc>;
248-
using DirectSILResultTypeRange =
249-
llvm::iterator_range<DirectSILResultTypeIter>;
247+
using DirectSILResultTypeRange = iterator_range<DirectSILResultTypeIter>;
250248

251249
/// Return a range of SILTypes for each result directly returned
252250
/// by SIL value.
@@ -280,7 +278,7 @@ class SILFunctionConventions {
280278

281279
using SILParameterTypeIter =
282280
llvm::mapped_iterator<const SILParameterInfo *, SILParameterTypeFunc>;
283-
using SILParameterTypeRange = llvm::iterator_range<SILParameterTypeIter>;
281+
using SILParameterTypeRange = iterator_range<SILParameterTypeIter>;
284282

285283
/// Return a range of SILTypes for each function parameter, not including
286284
/// indirect results.
@@ -301,7 +299,7 @@ class SILFunctionConventions {
301299

302300
using SILYieldTypeIter =
303301
llvm::mapped_iterator<const SILYieldInfo *, SILParameterTypeFunc>;
304-
using SILYieldTypeRange = llvm::iterator_range<SILYieldTypeIter>;
302+
using SILYieldTypeRange = iterator_range<SILYieldTypeIter>;
305303

306304
SILYieldTypeRange getYieldSILTypes() const {
307305
return llvm::map_range(funcTy->getYields(), SILParameterTypeFunc(silConv));

include/swift/SIL/SILInstruction.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,12 @@ class SILInstructionResultArray {
168168
reverse_iterator rbegin() const;
169169
reverse_iterator rend() const;
170170

171-
using range = llvm::iterator_range<iterator>;
171+
using range = iterator_range<iterator>;
172172
range getValues() const;
173-
using reverse_range = llvm::iterator_range<reverse_iterator>;
173+
using reverse_range = iterator_range<reverse_iterator>;
174174
reverse_range getReversedValues() const;
175175

176-
using type_range = llvm::iterator_range<
176+
using type_range = iterator_range<
177177
llvm::mapped_iterator<iterator, SILType(*)(SILValue), SILType>>;
178178
type_range getTypes() const;
179179

include/swift/SIL/SILValue.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ class ValueBase : public SILNode, public SILAllocated<ValueBase> {
281281
template <typename Subclass>
282282
using DowncastUserFilterRange =
283283
DowncastFilterRange<Subclass,
284-
llvm::iterator_range<llvm::mapped_iterator<
284+
iterator_range<llvm::mapped_iterator<
285285
use_iterator, UseToUser, SILInstruction *>>>;
286286

287287
/// Iterate over the use list of this ValueBase visiting all users that are of

include/swift/SILOptimizer/Analysis/ClosureScope.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ class ClosureScopeAnalysis : public SILAnalysis {
102102
return None;
103103
}
104104
};
105-
using IndexRange = llvm::iterator_range<int *>;
105+
using IndexRange = iterator_range<int *>;
106106

107107
public:
108108
// A range of SILFunction scopes converted from their scope indices and

include/swift/SILOptimizer/Analysis/LoopRegionAnalysis.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -591,11 +591,11 @@ class LoopRegion {
591591
return getSubregionData().rend();
592592
}
593593

594-
llvm::iterator_range<subregion_iterator> getSubregions() const {
594+
iterator_range<subregion_iterator> getSubregions() const {
595595
return {subregion_begin(), subregion_end()};
596596
}
597597

598-
llvm::iterator_range<subregion_reverse_iterator>
598+
iterator_range<subregion_reverse_iterator>
599599
getReverseSubregions() const {
600600
return {subregion_rbegin(), subregion_rend()};
601601
}
@@ -674,7 +674,7 @@ class LoopRegion {
674674
unsigned succ_size() const { return Succs.size(); }
675675

676676
private:
677-
using InnerSuccRange = llvm::iterator_range<decltype(Succs)::const_iterator>;
677+
using InnerSuccRange = iterator_range<decltype(Succs)::const_iterator>;
678678

679679
public:
680680
using SuccRange =
@@ -964,7 +964,7 @@ class LoopRegionFunctionInfo {
964964
const_iterator end() const { return IDToRegionMap.end(); }
965965
unsigned size() const { return IDToRegionMap.size(); }
966966
bool empty() const { return IDToRegionMap.empty(); }
967-
llvm::iterator_range<const_iterator> getRegions() const {
967+
iterator_range<const_iterator> getRegions() const {
968968
return {begin(), end()};
969969
}
970970

include/swift/SILOptimizer/Utils/InstOptUtils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ template <class T> class NullablePtr;
3838
/// Transform a Use Range (Operand*) into a User Range (SILInstruction*)
3939
using UserTransform = std::function<SILInstruction *(Operand *)>;
4040
using ValueBaseUserRange =
41-
TransformRange<llvm::iterator_range<ValueBase::use_iterator>,UserTransform>;
41+
TransformRange<iterator_range<ValueBase::use_iterator>, UserTransform>;
4242

4343
inline ValueBaseUserRange
4444
makeUserRange(iterator_range<ValueBase::use_iterator> range) {

lib/PrintAsObjC/DeclAndTypePrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2034,7 +2034,7 @@ void DeclAndTypePrinter::print(Type ty) {
20342034
}
20352035

20362036
void DeclAndTypePrinter::printAdHocCategory(
2037-
llvm::iterator_range<const ValueDecl * const *> members) {
2037+
iterator_range<const ValueDecl * const *> members) {
20382038
getImpl().printAdHocCategory(members);
20392039
}
20402040

lib/PrintAsObjC/DeclAndTypePrinter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ class DeclAndTypePrinter {
7474
///
7575
/// All members must have the same parent type. The list must not be empty.
7676
void
77-
printAdHocCategory(llvm::iterator_range<const ValueDecl * const *> members);
77+
printAdHocCategory(iterator_range<const ValueDecl * const *> members);
7878

7979
/// Returns the name of an <os/object.h> type minus the leading "OS_",
8080
/// or an empty string if \p decl is not an <os/object.h> type.

lib/SILOptimizer/Transforms/CopyPropagation.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ class LivenessInfo {
419419
originalDestroyBlocks.insert(use->getUser()->getParent());
420420
}
421421

422-
llvm::iterator_range<BlockSetVec::const_iterator>
422+
iterator_range<BlockSetVec::const_iterator>
423423
getOriginalDestroyBlocks() const {
424424
return originalDestroyBlocks;
425425
}

0 commit comments

Comments
 (0)