| 
    LLVM 22.0.0git
    
   | 
 
The nodes that need to be scheduled back-to-back in a single scheduling cycle form a SchedBundle. More...
#include "llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h"
Public Types | |
| using | ContainerTy = SmallVector<DGNode *, 4> | 
| using | iterator = ContainerTy::iterator | 
| using | const_iterator = ContainerTy::const_iterator | 
Public Member Functions | |
| SchedBundle ()=default | |
| SchedBundle (ContainerTy &&Nodes) | |
| SchedBundle (const SchedBundle &Other)=delete | |
| Copy CTOR (unimplemented).   | |
| SchedBundle & | operator= (const SchedBundle &Other)=delete | 
| Copy Assignment (unimplemented).   | |
| ~SchedBundle () | |
| bool | empty () const | 
| bool | isSingleton () const | 
| Singleton bundles are created when scheduling instructions temporarily to fill in the schedule until we schedule the vector bundle.   | |
| DGNode * | back () const | 
| iterator | begin () | 
| iterator | end () | 
| const_iterator | begin () const | 
| const_iterator | end () const | 
| LLVM_ABI DGNode * | getTop () const | 
| \Returns the bundle node that comes before the others in program order.   | |
| LLVM_ABI DGNode * | getBot () const | 
| \Returns the bundle node that comes after the others in program order.   | |
| LLVM_ABI void | cluster (BasicBlock::iterator Where) | 
Move all bundle instructions to Where back-to-back.   | |
| bool | ready () const | 
| \Returns true if all nodes in the bundle are ready.   | |
| void | dump (raw_ostream &OS) const | 
| LLVM_DUMP_METHOD void | dump () const | 
Friends | |
| void | DGNode::setSchedBundle (SchedBundle &) | 
The nodes that need to be scheduled back-to-back in a single scheduling cycle form a SchedBundle.
Definition at line 108 of file Scheduler.h.
Definition at line 141 of file Scheduler.h.
| using llvm::sandboxir::SchedBundle::ContainerTy = SmallVector<DGNode *, 4> | 
Definition at line 110 of file Scheduler.h.
Definition at line 140 of file Scheduler.h.
      
  | 
  default | 
Referenced by DGNode::setSchedBundle, operator=(), and SchedBundle().
      
  | 
  inline | 
Definition at line 122 of file Scheduler.h.
References llvm::move(), and N.
      
  | 
  delete | 
Copy CTOR (unimplemented).
References llvm::Other, and SchedBundle().
      
  | 
  inline | 
Definition at line 130 of file Scheduler.h.
References N.
      
  | 
  inline | 
Definition at line 139 of file Scheduler.h.
      
  | 
  inline | 
Definition at line 142 of file Scheduler.h.
      
  | 
  inline | 
Definition at line 144 of file Scheduler.h.
| void llvm::sandboxir::SchedBundle::cluster | ( | BasicBlock::iterator | Where | ) | 
Move all bundle instructions to Where back-to-back. 
Definition at line 33 of file Scheduler.cpp.
| void llvm::sandboxir::SchedBundle::dump | ( | ) | const | 
Definition at line 48 of file Scheduler.cpp.
References llvm::dbgs(), and dump().
Referenced by dump().
| void llvm::sandboxir::SchedBundle::dump | ( | raw_ostream & | OS | ) | const | 
Definition at line 43 of file Scheduler.cpp.
References N.
      
  | 
  inline | 
Definition at line 134 of file Scheduler.h.
      
  | 
  inline | 
Definition at line 143 of file Scheduler.h.
      
  | 
  inline | 
Definition at line 145 of file Scheduler.h.
| DGNode * llvm::sandboxir::SchedBundle::getBot | ( | ) | const | 
\Returns the bundle node that comes after the others in program order.
Definition at line 24 of file Scheduler.cpp.
References llvm::sandboxir::Instruction::comesBefore(), llvm::drop_begin(), llvm::sandboxir::DGNode::getInstruction(), and N.
| DGNode * llvm::sandboxir::SchedBundle::getTop | ( | ) | const | 
\Returns the bundle node that comes before the others in program order.
Definition at line 15 of file Scheduler.cpp.
References llvm::drop_begin(), llvm::sandboxir::DGNode::getInstruction(), and N.
      
  | 
  inline | 
Singleton bundles are created when scheduling instructions temporarily to fill in the schedule until we schedule the vector bundle.
These are non-vector bundles containing just a single instruction.
Definition at line 138 of file Scheduler.h.
      
  | 
  delete | 
Copy Assignment (unimplemented).
References llvm::Other, and SchedBundle().
      
  | 
  inline | 
\Returns true if all nodes in the bundle are ready.
Definition at line 153 of file Scheduler.h.
References llvm::all_of(), and N.
      
  | 
  friend | 
References SchedBundle().