diff options
Diffstat (limited to 'llvm/include')
-rw-r--r-- | llvm/include/llvm/ADT/ImmutableList.h | 12 | ||||
-rw-r--r-- | llvm/include/llvm/ADT/ImmutableMap.h | 7 | ||||
-rw-r--r-- | llvm/include/llvm/ADT/IntrusiveRefCntPtr.h | 4 | ||||
-rw-r--r-- | llvm/include/llvm/ADT/SparseBitVector.h | 16 | ||||
-rw-r--r-- | llvm/include/llvm/IR/IRBuilder.h | 7 | ||||
-rw-r--r-- | llvm/include/llvm/IR/InstrTypes.h | 8 | ||||
-rw-r--r-- | llvm/include/llvm/IR/Metadata.h | 8 | ||||
-rw-r--r-- | llvm/include/llvm/IR/UseListOrder.h | 4 | ||||
-rw-r--r-- | llvm/include/llvm/Support/CrashRecoveryContext.h | 8 | ||||
-rw-r--r-- | llvm/include/llvm/Support/Registry.h | 12 | ||||
-rw-r--r-- | llvm/include/llvm/Support/YAMLTraits.h | 49 |
11 files changed, 42 insertions, 93 deletions
diff --git a/llvm/include/llvm/ADT/ImmutableList.h b/llvm/include/llvm/ADT/ImmutableList.h index 748d3e4bf9f..a1d26bd9704 100644 --- a/llvm/include/llvm/ADT/ImmutableList.h +++ b/llvm/include/llvm/ADT/ImmutableList.h @@ -28,7 +28,7 @@ class ImmutableListImpl : public FoldingSetNode { T Head; const ImmutableListImpl* Tail; - ImmutableListImpl(const T& head, const ImmutableListImpl* tail = 0) + ImmutableListImpl(const T& head, const ImmutableListImpl* tail = nullptr) : Head(head), Tail(tail) {} friend class ImmutableListFactory<T>; @@ -72,7 +72,7 @@ public: // This constructor should normally only be called by ImmutableListFactory<T>. // There may be cases, however, when one needs to extract the internal pointer // and reconstruct a list object from that pointer. - ImmutableList(const ImmutableListImpl<T>* x = 0) : X(x) {} + ImmutableList(const ImmutableListImpl<T>* x = nullptr) : X(x) {} const ImmutableListImpl<T>* getInternalPointer() const { return X; @@ -81,7 +81,7 @@ public: class iterator { const ImmutableListImpl<T>* L; public: - iterator() : L(0) {} + iterator() : L(nullptr) {} iterator(ImmutableList l) : L(l.getInternalPointer()) {} iterator& operator++() { L = L->getTail(); return *this; } @@ -128,7 +128,7 @@ public: /// getTail - Returns the tail of the list, which is another (possibly empty) /// ImmutableList. ImmutableList getTail() { - return X ? X->getTail() : 0; + return X ? X->getTail() : nullptr; } void Profile(FoldingSetNodeID& ID) const { @@ -190,7 +190,7 @@ public: } ImmutableList<T> getEmptyList() const { - return ImmutableList<T>(0); + return ImmutableList<T>(nullptr); } ImmutableList<T> create(const T& X) { @@ -226,4 +226,4 @@ struct isPodLike<ImmutableList<T> > { static const bool value = true; }; } // end llvm namespace -#endif +#endif // LLVM_ADT_IMMUTABLELIST_H diff --git a/llvm/include/llvm/ADT/ImmutableMap.h b/llvm/include/llvm/ADT/ImmutableMap.h index c5b8dcc6671..7480cd73da6 100644 --- a/llvm/include/llvm/ADT/ImmutableMap.h +++ b/llvm/include/llvm/ADT/ImmutableMap.h @@ -78,9 +78,11 @@ public: explicit ImmutableMap(const TreeTy* R) : Root(const_cast<TreeTy*>(R)) { if (Root) { Root->retain(); } } + ImmutableMap(const ImmutableMap &X) : Root(X.Root) { if (Root) { Root->retain(); } } + ImmutableMap &operator=(const ImmutableMap &X) { if (Root != X.Root) { if (X.Root) { X.Root->retain(); } @@ -89,6 +91,7 @@ public: } return *this; } + ~ImmutableMap() { if (Root) { Root->release(); } } @@ -377,7 +380,7 @@ public: if (T) return &T->getValue().second; } - return 0; + return nullptr; } /// getMaxElement - Returns the <key,value> pair in the ImmutableMap for @@ -402,4 +405,4 @@ public: } // end namespace llvm -#endif +#endif // LLVM_ADT_IMMUTABLEMAP_H diff --git a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h index 65b2da793d7..8057ec10be0 100644 --- a/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h +++ b/llvm/include/llvm/ADT/IntrusiveRefCntPtr.h @@ -154,7 +154,7 @@ public: template <class X> IntrusiveRefCntPtr(IntrusiveRefCntPtr<X>&& S) : Obj(S.get()) { - S.Obj = 0; + S.Obj = nullptr; } template <class X> @@ -190,7 +190,7 @@ public: } void resetWithoutRelease() { - Obj = 0; + Obj = nullptr; } private: diff --git a/llvm/include/llvm/ADT/SparseBitVector.h b/llvm/include/llvm/ADT/SparseBitVector.h index bf7e1544c81..e6e72413da4 100644 --- a/llvm/include/llvm/ADT/SparseBitVector.h +++ b/llvm/include/llvm/ADT/SparseBitVector.h @@ -39,7 +39,6 @@ namespace llvm { /// etc) do not perform as well in practice as a linked list with this iterator /// kept up to date. They are also significantly more memory intensive. - template <unsigned ElementSize = 128> struct SparseBitVectorElement : public ilist_node<SparseBitVectorElement<ElementSize> > { @@ -204,6 +203,7 @@ public: BecameZero = allzero; return changed; } + // Intersect this Element with the complement of RHS and return true if this // one changed. BecameZero is set to true if this element became all-zero // bits. @@ -226,6 +226,7 @@ public: BecameZero = allzero; return changed; } + // Three argument version of intersectWithComplement that intersects // RHS1 & ~RHS2 into this element void intersectWithComplement(const SparseBitVectorElement &RHS1, @@ -408,12 +409,13 @@ class SparseBitVector { // bitmap. return AtEnd == RHS.AtEnd && RHS.BitNumber == BitNumber; } + bool operator!=(const SparseBitVectorIterator &RHS) const { return !(*this == RHS); } - SparseBitVectorIterator(): BitVector(NULL) { - } + SparseBitVectorIterator(): BitVector(nullptr) { + } SparseBitVectorIterator(const SparseBitVector<ElementSize> *RHS, bool end = false):BitVector(RHS) { @@ -690,7 +692,6 @@ public: return intersectWithComplement(*RHS); } - // Three argument version of intersectWithComplement. // Result of RHS1 & ~RHS2 is stored into this bitmap. void intersectWithComplement(const SparseBitVector<ElementSize> &RHS1, @@ -749,8 +750,6 @@ public: Elements.push_back(NewElement); ++Iter1; } - - return; } void intersectWithComplement(const SparseBitVector<ElementSize> *RHS1, @@ -885,9 +884,6 @@ operator-(const SparseBitVector<ElementSize> &LHS, return Result; } - - - // Dump a SparseBitVector to a stream template <unsigned ElementSize> void dump(const SparseBitVector<ElementSize> &LHS, raw_ostream &out) { @@ -905,4 +901,4 @@ void dump(const SparseBitVector<ElementSize> &LHS, raw_ostream &out) { } } // end namespace llvm -#endif +#endif // LLVM_ADT_SPARSEBITVECTOR_H diff --git a/llvm/include/llvm/IR/IRBuilder.h b/llvm/include/llvm/IR/IRBuilder.h index f8c7b61f8fb..f02128391ce 100644 --- a/llvm/include/llvm/IR/IRBuilder.h +++ b/llvm/include/llvm/IR/IRBuilder.h @@ -426,7 +426,7 @@ public: /// \brief Create a call to Masked Load intrinsic CallInst *CreateMaskedLoad(Value *Ptr, unsigned Align, Value *Mask, - Value *PassThru = 0, const Twine &Name = ""); + Value *PassThru = nullptr, const Twine &Name = ""); /// \brief Create a call to Masked Store intrinsic CallInst *CreateMaskedStore(Value *Val, Value *Ptr, unsigned Align, @@ -1745,6 +1745,7 @@ public: // Create wrappers for C Binding types (see CBindingWrapping.h). DEFINE_SIMPLE_CONVERSION_FUNCTIONS(IRBuilder<>, LLVMBuilderRef) -} -#endif +} // end namespace llvm + +#endif // LLVM_IR_IRBUILDER_H diff --git a/llvm/include/llvm/IR/InstrTypes.h b/llvm/include/llvm/IR/InstrTypes.h index a6a470ff6c3..70ab9736b42 100644 --- a/llvm/include/llvm/IR/InstrTypes.h +++ b/llvm/include/llvm/IR/InstrTypes.h @@ -687,7 +687,7 @@ public: Value *S, ///< The pointer value to be casted (operand 0) Type *Ty, ///< The type to which cast should be made const Twine &Name = "", ///< Name for the instruction - Instruction *InsertBefore = 0 ///< Place to insert the instruction + Instruction *InsertBefore = nullptr ///< Place to insert the instruction ); /// @brief Create a BitCast, a PtrToInt, or an IntToPTr cast instruction. @@ -700,7 +700,7 @@ public: Value *S, ///< The pointer value to be casted (operand 0) Type *Ty, ///< The type to which cast should be made const Twine &Name = "", ///< Name for the instruction - Instruction *InsertBefore = 0 ///< Place to insert the instruction + Instruction *InsertBefore = nullptr ///< Place to insert the instruction ); /// @brief Create a ZExt, BitCast, or Trunc for int -> int casts. @@ -1321,6 +1321,6 @@ protected: } }; -} // End llvm namespace +} // end llvm namespace -#endif +#endif // LLVM_IR_INSTRTYPES_H diff --git a/llvm/include/llvm/IR/Metadata.h b/llvm/include/llvm/IR/Metadata.h index 2f0713c4730..94b24f4e288 100644 --- a/llvm/include/llvm/IR/Metadata.h +++ b/llvm/include/llvm/IR/Metadata.h @@ -573,10 +573,12 @@ struct AAMDNodes { template<> struct DenseMapInfo<AAMDNodes> { static inline AAMDNodes getEmptyKey() { - return AAMDNodes(DenseMapInfo<MDNode *>::getEmptyKey(), 0, 0); + return AAMDNodes(DenseMapInfo<MDNode *>::getEmptyKey(), + nullptr, nullptr); } static inline AAMDNodes getTombstoneKey() { - return AAMDNodes(DenseMapInfo<MDNode *>::getTombstoneKey(), 0, 0); + return AAMDNodes(DenseMapInfo<MDNode *>::getTombstoneKey(), + nullptr, nullptr); } static unsigned getHashValue(const AAMDNodes &Val) { return DenseMapInfo<MDNode *>::getHashValue(Val.TBAA) ^ @@ -1219,4 +1221,4 @@ public: } // end llvm namespace -#endif +#endif // LLVM_IR_METADATA_H diff --git a/llvm/include/llvm/IR/UseListOrder.h b/llvm/include/llvm/IR/UseListOrder.h index b7c2418d348..1cabf03d1b0 100644 --- a/llvm/include/llvm/IR/UseListOrder.h +++ b/llvm/include/llvm/IR/UseListOrder.h @@ -34,7 +34,7 @@ struct UseListOrder { UseListOrder(const Value *V, const Function *F, size_t ShuffleSize) : V(V), F(F), Shuffle(ShuffleSize) {} - UseListOrder() : V(0), F(0) {} + UseListOrder() : V(nullptr), F(nullptr) {} UseListOrder(UseListOrder &&X) : V(X.V), F(X.F), Shuffle(std::move(X.Shuffle)) {} UseListOrder &operator=(UseListOrder &&X) { @@ -53,4 +53,4 @@ typedef std::vector<UseListOrder> UseListOrderStack; } // end namespace llvm -#endif +#endif // LLVM_IR_USELISTORDER_H diff --git a/llvm/include/llvm/Support/CrashRecoveryContext.h b/llvm/include/llvm/Support/CrashRecoveryContext.h index e83695ad5b7..1a1c7436876 100644 --- a/llvm/include/llvm/Support/CrashRecoveryContext.h +++ b/llvm/include/llvm/Support/CrashRecoveryContext.h @@ -137,7 +137,7 @@ public: if (CrashRecoveryContext *context = CrashRecoveryContext::GetCurrent()) return new DERIVED(context, x); } - return 0; + return nullptr; } }; @@ -195,9 +195,9 @@ public: void unregister() { if (cleanup && !cleanup->cleanupFired) cleanup->getContext()->unregisterCleanup(cleanup); - cleanup = 0; + cleanup = nullptr; } }; -} +} // end namespace llvm -#endif +#endif // LLVM_SUPPORT_CRASHRECOVERYCONTEXT_H diff --git a/llvm/include/llvm/Support/Registry.h b/llvm/include/llvm/Support/Registry.h index 95c4e96f7f2..2cb8f3c719f 100644 --- a/llvm/include/llvm/Support/Registry.h +++ b/llvm/include/llvm/Support/Registry.h @@ -37,7 +37,6 @@ namespace llvm { std::unique_ptr<T> instantiate() const { return Ctor(); } }; - /// Traits for registry entries. If using other than SimpleRegistryEntry, it /// is necessary to define an alternate traits class. template <typename T> @@ -53,7 +52,6 @@ namespace llvm { static const char *descof(const entry &Entry) { return Entry.getDesc(); } }; - /// A global registry used in conjunction with static constructors to make /// pluggable components (like targets or garbage collectors) "just work" when /// linked with an executable. @@ -102,7 +100,6 @@ namespace llvm { } }; - /// Iterators for registry entries. /// class iterator { @@ -125,7 +122,6 @@ namespace llvm { return iterator_range<iterator>(begin(), end()); } - /// Abstract base class for registry listeners, which are informed when new /// entries are added to the registry. Simply subclass and instantiate: /// @@ -160,7 +156,7 @@ namespace llvm { } public: - listener() : Prev(ListenerTail), Next(0) { + listener() : Prev(ListenerTail), Next(nullptr) { if (Prev) Prev->Next = this; else @@ -180,7 +176,6 @@ namespace llvm { } }; - /// A static registration template. Use like such: /// /// Registry<Collector>::Add<FancyGC> @@ -210,7 +205,6 @@ namespace llvm { }; /// Registry::Parser now lives in llvm/Support/RegistryParser.h. - }; // Since these are defined in a header file, plugins must be sure to export @@ -228,6 +222,6 @@ namespace llvm { template <typename T, typename U> typename Registry<T,U>::listener *Registry<T,U>::ListenerTail; -} +} // end namespace llvm -#endif +#endif // LLVM_SUPPORT_REGISTRY_H diff --git a/llvm/include/llvm/Support/YAMLTraits.h b/llvm/include/llvm/Support/YAMLTraits.h index c04294a5e87..fb2badfd93b 100644 --- a/llvm/include/llvm/Support/YAMLTraits.h +++ b/llvm/include/llvm/Support/YAMLTraits.h @@ -10,7 +10,6 @@ #ifndef LLVM_SUPPORT_YAMLTRAITS_H #define LLVM_SUPPORT_YAMLTRAITS_H - #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseMapInfo.h" #include "llvm/ADT/Optional.h" @@ -29,7 +28,6 @@ namespace llvm { namespace yaml { - /// This class should be specialized by any type that needs to be converted /// to/from a YAML mapping. For example: /// @@ -52,7 +50,6 @@ struct MappingTraits { // static const bool flow = true; }; - /// This class should be specialized by any integral type that converts /// to/from a YAML scalar where there is a one-to-one mapping between /// in-memory values and a string in YAML. For example: @@ -70,7 +67,6 @@ struct ScalarEnumerationTraits { // static void enumeration(IO &io, T &value); }; - /// This class should be specialized by any integer type that is a union /// of bit values and the YAML representation is a flow sequence of /// strings. For example: @@ -88,7 +84,6 @@ struct ScalarBitSetTraits { // static void bitset(IO &io, T &value); }; - /// This class should be specialized by type that requires custom conversion /// to/from a yaml scalar. For example: /// @@ -149,7 +144,6 @@ struct BlockScalarTraits { // static StringRef input(StringRef Scalar, void *ctxt, T &Value); }; - /// This class should be specialized by any type that needs to be converted /// to/from a YAML sequence. For example: /// @@ -175,7 +169,6 @@ struct SequenceTraits { // static const bool flow = true; }; - /// This class should be specialized by any type that needs to be converted /// to/from a list of YAML documents. template<typename T> @@ -185,7 +178,6 @@ struct DocumentListTraits { // static T::value_type& element(IO &io, T &seq, size_t index); }; - // Only used by compiler if both template types are the same template <typename T, T> struct SameType; @@ -194,8 +186,6 @@ struct SameType; template <typename T> struct MissingTrait; - - // Test if ScalarEnumerationTraits<T> is defined on type T. template <class T> struct has_ScalarEnumerationTraits @@ -213,7 +203,6 @@ public: (sizeof(test<ScalarEnumerationTraits<T> >(nullptr)) == 1); }; - // Test if ScalarBitSetTraits<T> is defined on type T. template <class T> struct has_ScalarBitSetTraits @@ -230,7 +219,6 @@ public: static bool const value = (sizeof(test<ScalarBitSetTraits<T> >(nullptr)) == 1); }; - // Test if ScalarTraits<T> is defined on type T. template <class T> struct has_ScalarTraits @@ -252,7 +240,6 @@ public: (sizeof(test<ScalarTraits<T>>(nullptr, nullptr, nullptr)) == 1); }; - // Test if BlockScalarTraits<T> is defined on type T. template <class T> struct has_BlockScalarTraits @@ -272,7 +259,6 @@ public: (sizeof(test<BlockScalarTraits<T>>(nullptr, nullptr)) == 1); }; - // Test if MappingTraits<T> is defined on type T. template <class T> struct has_MappingTraits @@ -305,8 +291,6 @@ public: static bool const value = (sizeof(test<MappingTraits<T> >(nullptr)) == 1); }; - - // Test if SequenceTraits<T> is defined on type T. template <class T> struct has_SequenceMethodTraits @@ -323,7 +307,6 @@ public: static bool const value = (sizeof(test<SequenceTraits<T> >(nullptr)) == 1); }; - // has_FlowTraits<int> will cause an error with some compilers because // it subclasses int. Using this wrapper only instantiates the // real has_FlowTraits only if the template type is a class. @@ -353,14 +336,11 @@ public: static bool const value = sizeof(f<Derived>(nullptr)) == 2; }; - - // Test if SequenceTraits<T> is defined on type T template<typename T> struct has_SequenceTraits : public std::integral_constant<bool, has_SequenceMethodTraits<T>::value > { }; - // Test if DocumentListTraits<T> is defined on type T template <class T> struct has_DocumentListTraits @@ -453,7 +433,6 @@ inline bool needsQuotes(StringRef S) { return false; } - template<typename T> struct missingTraits : public std::integral_constant<bool, !has_ScalarEnumerationTraits<T>::value @@ -654,8 +633,6 @@ private: void *Ctxt; }; - - template<typename T> typename std::enable_if<has_ScalarEnumerationTraits<T>::value,void>::type yamlize(IO &io, T &Val, bool) { @@ -676,7 +653,6 @@ yamlize(IO &io, T &Val, bool) { } } - template<typename T> typename std::enable_if<has_ScalarTraits<T>::value,void>::type yamlize(IO &io, T &Val, bool) { @@ -791,7 +767,6 @@ yamlize(IO &io, T &Seq, bool) { } } - template<> struct ScalarTraits<bool> { static void output(const bool &, void*, llvm::raw_ostream &); @@ -883,8 +858,6 @@ struct ScalarTraits<double> { static bool mustQuote(StringRef) { return false; } }; - - // Utility for use within MappingTraits<>::mapping() method // to [de]normalize an object for use with YAML conversion. template <typename TNorm, typename TFinal> @@ -917,14 +890,12 @@ private: TFinal &Result; }; - - // Utility for use within MappingTraits<>::mapping() method // to [de]normalize an object for use with YAML conversion. template <typename TNorm, typename TFinal> struct MappingNormalizationHeap { MappingNormalizationHeap(IO &i_o, TFinal &Obj) - : io(i_o), BufPtr(NULL), Result(Obj) { + : io(i_o), BufPtr(nullptr), Result(Obj) { if ( io.outputting() ) { BufPtr = new (&Buffer) TNorm(io, Obj); } @@ -953,8 +924,6 @@ private: TFinal &Result; }; - - /// /// The Input class is used to parse a yaml document into in-memory structs /// and vectors. @@ -1083,7 +1052,6 @@ private: void setError(HNode *hnode, const Twine &message); void setError(Node *node, const Twine &message); - public: // These are only used by operator>>. They could be private // if those templated things could be made friends. @@ -1105,9 +1073,6 @@ private: bool ScalarMatchFound; }; - - - /// /// The Output class is used to generate a yaml document from in-memory structs /// and vectors. @@ -1181,9 +1146,6 @@ private: bool NeedsNewLine; }; - - - /// YAML I/O does conversion based on types. But often native data types /// are just a typedef of built in intergral types (e.g. int). But the C++ /// type matching system sees through the typedef and all the typedefed types @@ -1206,8 +1168,6 @@ private: _base value; \ }; - - /// /// Use these types instead of uintXX_t in any mapping to have /// its yaml output formatted as hexadecimal. @@ -1217,7 +1177,6 @@ LLVM_YAML_STRONG_TYPEDEF(uint16_t, Hex16) LLVM_YAML_STRONG_TYPEDEF(uint32_t, Hex32) LLVM_YAML_STRONG_TYPEDEF(uint64_t, Hex64) - template<> struct ScalarTraits<Hex8> { static void output(const Hex8 &, void*, llvm::raw_ostream &); @@ -1246,7 +1205,6 @@ struct ScalarTraits<Hex64> { static bool mustQuote(StringRef) { return false; } }; - // Define non-member operator>> so that Input can stream in a document list. template <typename T> inline @@ -1303,7 +1261,6 @@ operator>>(Input &yin, T &docSeq) { return yin; } - // Define non-member operator<< so that Output can stream out document list. template <typename T> inline @@ -1372,11 +1329,9 @@ operator<<(Output &yout, T &seq) { return yout; } - } // namespace yaml } // namespace llvm - /// Utility for declaring that a std::vector of a particular type /// should be considered a YAML sequence. #define LLVM_YAML_IS_SEQUENCE_VECTOR(_type) \ @@ -1436,6 +1391,4 @@ operator<<(Output &yout, T &seq) { } \ } - - #endif // LLVM_SUPPORT_YAMLTRAITS_H |