reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/ADT/FoldingSet.h
  221   static void Profile(const T &X, FoldingSetNodeID &ID) {
  224   static void Profile(T &X, FoldingSetNodeID &ID) {
  232   static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
  240   static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
  250   : public DefaultFoldingSetTrait<T> {};
  369   FoldingSetTrait<T>::Profile(X, TempID);
  375   FoldingSetTrait<T>::Profile(X, TempID);
  410   using iterator = FoldingSetIterator<T>;
  415   using const_iterator = FoldingSetIterator<const T>;
  420   using bucket_iterator = FoldingSetBucketIterator<T>;
  432   bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
  437   T *GetOrInsertNode(T *N) {
  437   T *GetOrInsertNode(T *N) {
  444   T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
  451   void InsertNode(T *N, void *InsertPos) {
  457   void InsertNode(T *N) {
  473 template <class T> class FoldingSet final : public FoldingSetImpl<T> {
  474   using Super = FoldingSetImpl<T>;
  480     T *TN = static_cast<T *>(N);
  481     FoldingSetTrait<T>::Profile(*TN, ID);
  488     T *TN = static_cast<T *>(N);
  489     return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
  495     T *TN = static_cast<T *>(N);
  496     return FoldingSetTrait<T>::ComputeHash(*TN, TempID);
include/llvm/Support/TrailingObjects.h
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  162   getTrailingObjectsImpl(const BaseTy *Obj,
  177   getTrailingObjectsImpl(BaseTy *Obj,
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  257   static const BaseTy *
  258   getTrailingObjectsImpl(const BaseTy *Obj,
  259                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  263   static BaseTy *
  264   getTrailingObjectsImpl(BaseTy *Obj,
  265                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  277   callNumTrailingObjects(const BaseTy *Obj,
  278                          TrailingObjectsBase::OverloadToken<BaseTy>) {
  283   static size_t callNumTrailingObjects(const BaseTy *Obj,
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  345     return sizeof(BaseTy) + ParentType::additionalSizeToAllocImpl(0, Counts...);
include/llvm/TableGen/Record.h
 1210                          public TrailingObjects<VarDefInit, Init *> {
 1221   VarDefInit(const VarDefInit &) = delete;
 1222   VarDefInit &operator=(const VarDefInit &) = delete;
 1222   VarDefInit &operator=(const VarDefInit &) = delete;
 1230   static VarDefInit *get(Record *Class, ArrayRef<Init *> Args);
lib/TableGen/Record.cpp
 1593 VarDefInit *VarDefInit::get(Record *Class, ArrayRef<Init *> Args) {
 1594   static FoldingSet<VarDefInit> ThePool;
 1600   if (VarDefInit *I = ThePool.FindNodeOrInsertPos(ID, IP))
 1604                                  alignof(VarDefInit));
 1605   VarDefInit *I = new(Mem) VarDefInit(Class, Args.size());
 1605   VarDefInit *I = new(Mem) VarDefInit(Class, Args.size());
 1675     auto New = VarDefInit::get(Class, NewArgs);
lib/TableGen/TGParser.cpp
 1877     return VarDefInit::get(Class, Args)->Fold();