Add and use Type::subtypes. NFC.
authorRafael Espindola <rafael.espindola@gmail.com>
Mon, 24 Nov 2014 20:44:36 +0000 (20:44 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Mon, 24 Nov 2014 20:44:36 +0000 (20:44 +0000)
llvm-svn: 222682

llvm/include/llvm/IR/Type.h
llvm/lib/Analysis/IPA/FindUsedTypes.cpp
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp

index a36fb0f..c2073c7 100644 (file)
@@ -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<Type*> subtypes() const {
+    return makeArrayRef(subtype_begin(), subtype_end());
+  }
 
   typedef std::reverse_iterator<subtype_iterator> subtype_reverse_iterator;
   subtype_reverse_iterator subtype_rbegin() const {
index b37344b..61af7a6 100644 (file)
@@ -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) {
index f065c83..6971d3a 100644 (file)
@@ -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];