From ffbfcf29f24aa376f86203d3c34a9f0eb15d2086 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 24 Nov 2014 20:44:36 +0000 Subject: [PATCH] Add and use Type::subtypes. NFC. llvm-svn: 222682 --- llvm/include/llvm/IR/Type.h | 3 +++ llvm/lib/Analysis/IPA/FindUsedTypes.cpp | 5 ++--- llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 5 ++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/llvm/include/llvm/IR/Type.h b/llvm/include/llvm/IR/Type.h index a36fb0f..c2073c7 100644 --- a/llvm/include/llvm/IR/Type.h +++ b/llvm/include/llvm/IR/Type.h @@ -313,6 +313,9 @@ public: typedef Type * const *subtype_iterator; subtype_iterator subtype_begin() const { return ContainedTys; } subtype_iterator subtype_end() const { return &ContainedTys[NumContainedTys];} + ArrayRef subtypes() const { + return makeArrayRef(subtype_begin(), subtype_end()); + } typedef std::reverse_iterator subtype_reverse_iterator; subtype_reverse_iterator subtype_rbegin() const { diff --git a/llvm/lib/Analysis/IPA/FindUsedTypes.cpp b/llvm/lib/Analysis/IPA/FindUsedTypes.cpp index b37344b..61af7a6 100644 --- a/llvm/lib/Analysis/IPA/FindUsedTypes.cpp +++ b/llvm/lib/Analysis/IPA/FindUsedTypes.cpp @@ -35,9 +35,8 @@ void FindUsedTypes::IncorporateType(Type *Ty) { // Make sure to add any types this type references now. // - for (Type::subtype_iterator I = Ty->subtype_begin(), E = Ty->subtype_end(); - I != E; ++I) - IncorporateType(*I); + for (Type *SubTy : Ty->subtypes()) + IncorporateType(SubTy); } void FindUsedTypes::IncorporateValue(const Value *V) { diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp index f065c83..6971d3a 100644 --- a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -620,9 +620,8 @@ void ValueEnumerator::EnumerateType(Type *Ty) { // Enumerate all of the subtypes before we enumerate this type. This ensures // that the type will be enumerated in an order that can be directly built. - for (Type::subtype_iterator I = Ty->subtype_begin(), E = Ty->subtype_end(); - I != E; ++I) - EnumerateType(*I); + for (Type *SubTy : Ty->subtypes()) + EnumerateType(SubTy); // Refresh the TypeID pointer in case the table rehashed. TypeID = &TypeMap[Ty]; -- 2.7.4