Home | History | Annotate | Download | only in ADT

Lines Matching refs:FoldingSetNodeID

41 /// passed a FoldingSetNodeID object which is used to gather the bits.  Just
54 /// void Profile(FoldingSetNodeID &ID) const {
78 /// exists, then call FindNodeOrInsertPos with a FoldingSetNodeID of the bits to
81 /// FoldingSetNodeID ID;
102 class FoldingSetNodeID;
162 Node *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos);
193 virtual void GetNodeProfile(Node *N, FoldingSetNodeID &ID) const = 0;
196 virtual bool NodeEquals(Node *N, const FoldingSetNodeID &ID,
197 FoldingSetNodeID &TempID) const=0;
201 FoldingSetNodeID &TempID) const = 0;
212 static void Profile(const T &X, FoldingSetNodeID &ID) {
215 static void Profile(T &X, FoldingSetNodeID &ID) {
223 static inline bool Equals(T &X, const FoldingSetNodeID &ID,
224 FoldingSetNodeID &TempID);
231 static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
249 static void Profile(T &X, FoldingSetNodeID &ID, Ctx Context) {
252 static inline bool Equals(T &X, const FoldingSetNodeID &ID,
253 FoldingSetNodeID &TempID, Ctx Context);
254 static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID,
265 /// FoldingSetNodeID, which can be a useful to store node id data rather
287 /// FoldingSetNodeID - This class is used to gather all the unique data bits of
291 class FoldingSetNodeID {
297 FoldingSetNodeID() {}
299 FoldingSetNodeID(FoldingSetNodeIDRef Ref)
313 void AddNodeID(const FoldingSetNodeID &ID);
318 /// clear - Clear the accumulated profile, allowing this FoldingSetNodeID
322 /// ComputeHash - Compute a strong hash value for this FoldingSetNodeID, used
328 bool operator==(const FoldingSetNodeID &RHS) const;
343 // require the definition of FoldingSetNodeID.
346 DefaultFoldingSetTrait<T>::Equals(T &X, const FoldingSetNodeID &ID,
347 FoldingSetNodeID &TempID) {
353 DefaultFoldingSetTrait<T>::ComputeHash(T &X, FoldingSetNodeID &TempID) {
360 const FoldingSetNodeID &ID,
361 FoldingSetNodeID &TempID,
369 FoldingSetNodeID &TempID,
384 virtual void GetNodeProfile(Node *N, FoldingSetNodeID &ID) const {
390 virtual bool NodeEquals(Node *N, const FoldingSetNodeID &ID,
391 FoldingSetNodeID &TempID) const {
398 FoldingSetNodeID &TempID) const {
436 T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
449 /// void Profile(llvm::FoldingSetNodeID &, Ctx);
463 FoldingSetNodeID &ID) const {
468 const FoldingSetNodeID &ID,
469 FoldingSetNodeID &TempID) const {
474 FoldingSetNodeID &TempID) const {
515 T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
645 void Profile(FoldingSetNodeID &ID) { FoldingSetTrait<T>::Profile(data, ID); }
656 /// a FoldingSetNodeID value rather than requiring the node to recompute it
661 FoldingSetNodeID FastID;
663 explicit FastFoldingSetNode(const FoldingSetNodeID &ID) : FastID(ID) {}
665 void Profile(FoldingSetNodeID &ID) const {
674 static inline void Profile(T *X, FoldingSetNodeID &ID) {