diff options
-rw-r--r-- | src/amd/compiler/aco_scheduler.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_scheduler.cpp b/src/amd/compiler/aco_scheduler.cpp index 30a82e68ce8..14f0f71385a 100644 --- a/src/amd/compiler/aco_scheduler.cpp +++ b/src/amd/compiler/aco_scheduler.cpp @@ -336,6 +336,9 @@ void schedule_SMEM(sched_ctx& ctx, Block* block, /* check if candidate depends on current */ bool is_dependency = std::any_of(candidate->operands.begin(), candidate->operands.end(), [&ctx](const Operand& op) { return op.isTemp() && ctx.depends_on[op.tempId()];}); + /* no need to steal from following VMEM instructions */ + if (is_dependency && candidate->isVMEM()) + break; if (moving_spill && is_spill_reload(candidate)) is_dependency = true; if ((moving_interaction & barrier_shared) && candidate->format == Format::DS) |