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

Declarations

include/llvm/Analysis/IntervalPartition.h
   32 class Interval;

References

include/llvm/Analysis/Interval.h
   88   inline bool operator==(const Interval &I) const {
  102 inline Interval::succ_iterator succ_begin(Interval *I) {
  102 inline Interval::succ_iterator succ_begin(Interval *I) {
  105 inline Interval::succ_iterator succ_end(Interval *I)   {
  105 inline Interval::succ_iterator succ_end(Interval *I)   {
  112 inline Interval::pred_iterator pred_begin(Interval *I) {
  112 inline Interval::pred_iterator pred_begin(Interval *I) {
  115 inline Interval::pred_iterator pred_end(Interval *I)   {
  115 inline Interval::pred_iterator pred_end(Interval *I)   {
  120   using NodeRef = Interval *;
  121   using ChildIteratorType = Interval::succ_iterator;
  123   static NodeRef getEntryNode(Interval *I) { return I; }
  131   using NodeRef = Interval *;
  132   using ChildIteratorType = Interval::pred_iterator;
  134   static NodeRef getEntryNode(Inverse<Interval *> G) { return G.Graph; }
include/llvm/Analysis/IntervalIterator.h
   56 inline BasicBlock *getNodeHeader(Interval *I) { return I->getHeaderNode(); }
   64 inline Interval *getSourceGraphNode(IntervalPartition *IP, BasicBlock *BB) {
   72 inline void addNodeToInterval(Interval *Int, BasicBlock *BB) {
   82 inline void addNodeToInterval(Interval *Int, Interval *I) {
   82 inline void addNodeToInterval(Interval *Int, Interval *I) {
   90   std::vector<std::pair<Interval *, typename Interval::succ_iterator>> IntStack;
   90   std::vector<std::pair<Interval *, typename Interval::succ_iterator>> IntStack;
  134   const Interval *operator*() const { return IntStack.back().first; }
  135   Interval *operator*() { return IntStack.back().first; }
  136   const Interval *operator->() const { return operator*(); }
  137   Interval *operator->() { return operator*(); }
  144       Interval::succ_iterator &SuccIt = IntStack.back().second,
  176   bool ProcessInterval(NodeTy *Node) {
  181     Interval *Int = new Interval(Header);
  181     Interval *Int = new Interval(Header);
  200   void ProcessNode(Interval *Int, NodeTy *Node) {
  200   void ProcessNode(Interval *Int, NodeTy *Node) {
  246     IntervalIterator<Interval, IntervalPartition>;
include/llvm/Analysis/IntervalPartition.h
   43   using IntervalMapTy = std::map<BasicBlock *, Interval *>;
   46   using IntervalListTy = std::vector<Interval *>;
   47   Interval *RootInterval = nullptr;
   48   std::vector<Interval *> Intervals;
   70   inline Interval *getRootInterval() { return RootInterval; }
   79   inline Interval *getBlockInterval(BasicBlock *BB) {
   90   const std::vector<Interval*> &getIntervals() const { return Intervals; }
   99   void addIntervalToPartition(Interval *I);
  105   void updatePredecessors(Interval *Int);
lib/Analysis/IntervalPartition.cpp
   49 void IntervalPartition::addIntervalToPartition(Interval *I) {
   53   for (Interval::node_iterator It = I->Nodes.begin(), End = I->Nodes.end();
   62 void IntervalPartition::updatePredecessors(Interval *Int) {