LLVM 24.0.0git
ImmutableSet.h File Reference

This file defines the ImutAVLTree and ImmutableSet classes. More...

#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Signals.h"
#include <cassert>
#include <cstdint>
#include <functional>
#include <iterator>
#include <new>
#include <vector>

Go to the source code of this file.

Classes

 The intrusive doubly-linked chain of same-digest trees in the factory's canonicalization cache. More...
struct  llvm::ImutAVLDetail::CanonicalDigest< Canonicalize >
 The cached structural digest, used only for canonicalization. More...
struct  llvm::ImutAVLDetail::CanonicalDigest< false >
struct  llvm::ImutAVLDetail::CanonicalCache< Tree, Canonicalize >
 The factory-side canonicalization cache: digest -> tree chain. More...
struct  llvm::ImutAVLDetail::CanonicalCache< Tree, false >
class  llvm::ImutAVLTree< ImutInfo, Canonicalize >
struct  llvm::IntrusiveRefCntPtrInfo< ImutAVLTree< ImutInfo, Canonicalize > >
class  llvm::ImutAVLFactory< ImutInfo, Canonicalize >
class  llvm::ImutAVLTreeInOrderIterator< ImutInfo, Canonicalize >
 Bidirectional in-order iterator over the nodes of an ImutAVLTree. More...
struct  llvm::ImutAVLValueIterator< T >
 Generic iterator that wraps a T::TreeTy::iterator and exposes iterator::getValue() on dereference. More...
struct  llvm::ImutProfileInfo< T >
 Generic profile template. More...
struct  llvm::ImutProfileInteger< T >
 Profile traits for integers. More...
struct  llvm::ImutProfileInfo< bool >
 Profile traits for booleans. More...
struct  llvm::ImutProfileInfo< T * >
 Generic profile trait for pointer types. More...
struct  llvm::ImutContainerInfo< T >
 Generic definition of comparison operations for elements of immutable containers that defaults to using std::equal_to<> and std::less<> to perform comparison of elements. More...
struct  llvm::ImutContainerInfo< T * >
 Specialization for pointer values to treat pointers as references to unique objects. More...
class  llvm::ImmutableSet< ValT, ValInfo, Canonicalize >
class  llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::Factory
class  llvm::ImmutableSetRef< ValT, ValInfo, Canonicalize >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::ImutAVLDetail

Macros

#define PROFILE_INTEGER_INFO(X)

Detailed Description

This file defines the ImutAVLTree and ImmutableSet classes.

Definition in file ImmutableSet.h.

Macro Definition Documentation

◆ PROFILE_INTEGER_INFO

#define PROFILE_INTEGER_INFO ( X)
Value:
template<> struct ImutProfileInfo<X> : ImutProfileInteger<X> {};
#define X(NUM, ENUM, NAME)
Definition ELF.h:856

Definition at line 853 of file ImmutableSet.h.