Instead of grouping high latencies only when they are
order independant, group them when they do not have
data dependencies.
Add the required instructions to go from one high
latency to the other to the common group.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AMDGPU/SIMachineScheduler.cpp | ||
---|---|---|
725 ↗ | (On Diff #92682) | This loop looks the same as on line 739: how about making a function like: bool hasDataDependancy(const SUnit &SU, const SUnit &FromSU) { for (const auto &PredDep : SU.Preds) { if (PredDep.getSUnit() == &FromSU && PredDep.getKind() == llvm::SDep::Data) return true; } } |
738 ↗ | (On Diff #92682) | break? |
Comment Actions
Add helper function hasDataDependencyPred.
Use Topological order to justify we checks Preds only (thus previous code was wrong).