diff options
Diffstat (limited to 'include/llvm/IR/Value.h')
-rw-r--r-- | include/llvm/IR/Value.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/include/llvm/IR/Value.h b/include/llvm/IR/Value.h index 00f8213992574..96a370dcc35f0 100644 --- a/include/llvm/IR/Value.h +++ b/include/llvm/IR/Value.h @@ -1,4 +1,4 @@ -//===-- llvm/Value.h - Definition of the Value class ------------*- C++ -*-===// +//===- llvm/Value.h - Definition of the Value class -------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -44,12 +44,12 @@ class LLVMContext; class Module; class ModuleSlotTracker; class raw_ostream; +template<typename ValueTy> class StringMapEntry; class StringRef; class Twine; class Type; -template<typename ValueTy> class StringMapEntry; -typedef StringMapEntry<Value*> ValueName; +using ValueName = StringMapEntry<Value*>; //===----------------------------------------------------------------------===// // Value Class @@ -120,9 +120,11 @@ private: template <typename UseT> // UseT == 'Use' or 'const Use' class use_iterator_impl : public std::iterator<std::forward_iterator_tag, UseT *> { + friend class Value; + UseT *U; + explicit use_iterator_impl(UseT *u) : U(u) {} - friend class Value; public: use_iterator_impl() : U() {} @@ -309,8 +311,9 @@ public: return UseList == nullptr; } - typedef use_iterator_impl<Use> use_iterator; - typedef use_iterator_impl<const Use> const_use_iterator; + using use_iterator = use_iterator_impl<Use>; + using const_use_iterator = use_iterator_impl<const Use>; + use_iterator materialized_use_begin() { return use_iterator(UseList); } const_use_iterator materialized_use_begin() const { return const_use_iterator(UseList); @@ -345,8 +348,9 @@ public: return UseList == nullptr; } - typedef user_iterator_impl<User> user_iterator; - typedef user_iterator_impl<const User> const_user_iterator; + using user_iterator = user_iterator_impl<User>; + using const_user_iterator = user_iterator_impl<const User>; + user_iterator materialized_user_begin() { return user_iterator(UseList); } const_user_iterator materialized_user_begin() const { return const_user_iterator(UseList); @@ -560,7 +564,6 @@ public: /// block. const Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB) const; - Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB) { return const_cast<Value *>( static_cast<const Value *>(this)->DoPHITranslation(CurBB, PredBB)); @@ -606,7 +609,7 @@ private: Use *Merged; Use **Next = &Merged; - for (;;) { + while (true) { if (!L) { *Next = R; break; |