Lines Matching refs:Above
46 // they are merged down. So, if set A is above set B, and one decides to set an
59 // \brief The index for the set "above" current
60 StratifiedIndex Above;
68 StratifiedLink() : Above(SetSentinel), Below(SetSentinel) {}
71 bool hasAbove() const { return Above != SetSentinel; }
74 void clearAbove() { Above = SetSentinel; }
84 // above or below another. In CFL Alias Analysis, this gives us an indication
90 // Sets may also have attributes (as noted above). These attributes are
140 // This builder has a notion of some value A being above, below, or with some
142 // > The `A above B` relationship implies that there is a reference edge going
144 // > The `A below B` relationship is the opposite of `A above B`. It implies
159 // - %a below %ap & %ap above %a
160 // - %ap below %app & %app above %ap
166 // ...Which states that the only MayAlias relationship in the above program is
187 // %b. We then recursively merge the set above %a with the set above %b, and
200 // This is impossible to construct with any of the rules above, because a set
204 // we merge all concerned sets into one. So, the above code would generate a
215 // Set above it, the set below it, and whether the current set has been
241 Link.Above = I;
263 return Link.Above;
301 // \brief Prefer the above functions to calling things directly on what's
328 auto &Above = linksAt(Link.Above);
329 auto Iter = Remaps.find(Above.Number);
331 Link.Above = Iter->second;
357 Idx = Link->Above;
405 // set above "Main". There are some cases where this is not possible (see
406 // above), so we merge them such that ToAdd and Main are in the same set.
413 auto Above = linksAt(Index).getAbove();
414 return addAtMerging(ToAdd, Above);
419 // above), so we merge them such that ToAdd and Main are in the same set.
471 // belongs to. It ignores attributes in any sets above the one that Main
481 // set that Main belongs to. It ignores attributes in any sets above the one
544 // CASE 1: If the set at `Idx1` is above or below `Idx2`, we need to merge
559 // traversing above or below the set at `Idx2`.
565 // Merging everything above LinksInto then proceeding to merge everything
583 // > If both have links above, deal with those next.