|
LLVM 24.0.0git
|
The list scheduler. More...
#include "llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h"
Public Member Functions | |
| Scheduler (AAResults &AA, Context &Ctx, SchedDirection Dir) | |
| ~Scheduler () | |
| LLVM_ABI bool | trySchedule (ArrayRef< Instruction * > Instrs) |
Tries to build a schedule that includes all of Instrs scheduled at the same scheduling cycle. | |
| void | clear () |
| Clear the scheduler's state, including the DAG. | |
| void | dump (raw_ostream &OS) const |
| LLVM_DUMP_METHOD void | dump () const |
Friends | |
| class | SchedulerInternalsAttorney |
The list scheduler.
Definition at line 302 of file Scheduler.h.
|
inline |
Definition at line 378 of file Scheduler.h.
References I.
|
inline |
Definition at line 394 of file Scheduler.h.
|
inline |
Clear the scheduler's state, including the DAG.
Definition at line 411 of file Scheduler.h.
References assert().
| void llvm::sandboxir::Scheduler::dump | ( | ) | const |
Definition at line 543 of file Scheduler.cpp.
References llvm::dbgs(), and dump().
Referenced by dump().
| void llvm::sandboxir::Scheduler::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 531 of file Scheduler.cpp.
References llvm::sandboxir::BottomUp, and llvm::sandboxir::schedDirectionToStr().
| bool llvm::sandboxir::Scheduler::trySchedule | ( | ArrayRef< Instruction * > | Instrs | ) |
Tries to build a schedule that includes all of Instrs scheduled at the same scheduling cycle.
This essentially checks that there are no dependencies among Instrs. This function may involve scheduling intermediate instructions or canceling and re-scheduling if needed. \Returns true on success, false otherwise.
Definition at line 454 of file Scheduler.cpp.
References llvm::all_of(), llvm::any_of(), assert(), llvm::ArrayRef< T >::begin(), llvm::sandboxir::BottomUp, llvm::drop_begin(), llvm::sandboxir::VecUtils::getHighest(), llvm::sandboxir::VecUtils::getLowest(), llvm::sandboxir::SchedulingPoint::getNext(), llvm::sandboxir::SchedulingPoint::getPrev(), I, llvm_unreachable, N, and llvm::sandboxir::TopDown.
|
friend |
Definition at line 310 of file Scheduler.h.
References llvm::sandboxir::BasicBlock(), I, LLVM_ABI, and SchedulerInternalsAttorney.
Referenced by SchedulerInternalsAttorney.