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

References

include/llvm/ADT/ImmutableSet.h
  370   using value_type_ref = typename TreeTy::value_type_ref;
  371   using key_type_ref = typename TreeTy::key_type_ref;
  372   using CacheTy = DenseMap<unsigned, TreeTy*>;
  376   std::vector<TreeTy*> createdNodes;
  377   std::vector<TreeTy*> freeNodes;
  402   TreeTy* add(TreeTy* T, value_type_ref V) {
  402   TreeTy* add(TreeTy* T, value_type_ref V) {
  409   TreeTy* remove(TreeTy* T, key_type_ref V) {
  409   TreeTy* remove(TreeTy* T, key_type_ref V) {
  416   TreeTy* getEmptyTree() const { return nullptr; }
  426   bool            isEmpty(TreeTy* T) const { return !T; }
  427   unsigned        getHeight(TreeTy* T) const { return T ? T->getHeight() : 0; }
  428   TreeTy*         getLeft(TreeTy* T) const { return T->getLeft(); }
  428   TreeTy*         getLeft(TreeTy* T) const { return T->getLeft(); }
  429   TreeTy*         getRight(TreeTy* T) const { return T->getRight(); }
  429   TreeTy*         getRight(TreeTy* T) const { return T->getRight(); }
  430   value_type_ref  getValue(TreeTy* T) const { return T->value; }
  435   unsigned incrementHeight(TreeTy* L, TreeTy* R) const {
  435   unsigned incrementHeight(TreeTy* L, TreeTy* R) const {
  441   static bool compareTreeWithSection(TreeTy* T,
  442                                      typename TreeTy::iterator& TI,
  443                                      typename TreeTy::iterator& TE) {
  444     typename TreeTy::iterator I = T->begin(), E = T->end();
  462   TreeTy* createNode(TreeTy* L, value_type_ref V, TreeTy* R) {
  462   TreeTy* createNode(TreeTy* L, value_type_ref V, TreeTy* R) {
  462   TreeTy* createNode(TreeTy* L, value_type_ref V, TreeTy* R) {
  464     TreeTy* T;
  471       T = (TreeTy*) A.Allocate<TreeTy>();
  473     new (T) TreeTy(this, L, R, V, incrementHeight(L,R));
  478   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
  478   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
  478   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
  478   TreeTy* createNode(TreeTy* newLeft, TreeTy* oldTree, TreeTy* newRight) {
  484       TreeTy *N = createdNodes[i];
  493   TreeTy* balanceTree(TreeTy* L, value_type_ref V, TreeTy* R) {
  493   TreeTy* balanceTree(TreeTy* L, value_type_ref V, TreeTy* R) {
  493   TreeTy* balanceTree(TreeTy* L, value_type_ref V, TreeTy* R) {
  500       TreeTy *LL = getLeft(L);
  501       TreeTy *LR = getRight(L);
  508       TreeTy *LRL = getLeft(LR);
  509       TreeTy *LRR = getRight(LR);
  517       TreeTy *RL = getLeft(R);
  518       TreeTy *RR = getRight(R);
  525       TreeTy *RLL = getLeft(RL);
  526       TreeTy *RLR = getRight(RL);
  537   TreeTy* add_internal(value_type_ref V, TreeTy* T) {
  537   TreeTy* add_internal(value_type_ref V, TreeTy* T) {
  557   TreeTy* remove_internal(key_type_ref K, TreeTy* T) {
  557   TreeTy* remove_internal(key_type_ref K, TreeTy* T) {
  576   TreeTy* combineTrees(TreeTy* L, TreeTy* R) {
  576   TreeTy* combineTrees(TreeTy* L, TreeTy* R) {
  576   TreeTy* combineTrees(TreeTy* L, TreeTy* R) {
  581     TreeTy* OldNode;
  582     TreeTy* newRight = removeMinBinding(R,OldNode);
  586   TreeTy* removeMinBinding(TreeTy* T, TreeTy*& Noderemoved) {
  586   TreeTy* removeMinBinding(TreeTy* T, TreeTy*& Noderemoved) {
  586   TreeTy* removeMinBinding(TreeTy* T, TreeTy*& Noderemoved) {
  598   void markImmutable(TreeTy* T) {
  607   TreeTy *getCanonicalTree(TreeTy *TNew) {
  607   TreeTy *getCanonicalTree(TreeTy *TNew) {
  617     TreeTy *&entry = Cache[maskCacheIndex(digest)];
  621       for (TreeTy *T = entry ; T != nullptr; T = T->next) {
  623         typename TreeTy::iterator TI = T->begin(), TE = T->end();