[PATCH] D90347: [AMDGPU] Add Reset function to GCNHazardRecognizer
Austin Kerbow via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 28 15:13:09 PDT 2020
kerbowa created this revision.
kerbowa added a reviewer: rampitec.
Herald added subscribers: llvm-commits, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl, arsenm.
Herald added a project: LLVM.
kerbowa requested review of this revision.
Herald added a subscriber: wdng.
Reset the tracked emitted instructions when starting scheduling on a new
region.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D90347
Files:
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
llvm/test/CodeGen/AMDGPU/post-ra-sched-reset.mir
Index: llvm/test/CodeGen/AMDGPU/post-ra-sched-reset.mir
===================================================================
--- /dev/null
+++ llvm/test/CodeGen/AMDGPU/post-ra-sched-reset.mir
@@ -0,0 +1,22 @@
+# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass=post-RA-sched -verify-machineinstrs -debug-only=post-RA-sched -o - %s 2>&1 | FileCheck %s
+
+# REQUIRES: asserts
+
+# CHECK-NOT: Stall in cycle
+---
+name: hazard_rec_reset
+tracksRegLiveness: true
+body: |
+ bb.0:
+ successors: %bb.1
+
+ $m0 = S_MOV_B32 0
+
+ bb.1:
+ liveins: $vgpr4
+
+ S_SETREG_IMM32_B32 0, 1, implicit-def $mode, implicit $mode
+ $vgpr0 = V_INTERP_P1_F32 killed $vgpr4, 0, 0, implicit $mode, implicit $m0, implicit $exec
+ S_ENDPGM 0
+
+...
Index: llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
===================================================================
--- llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+++ llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
@@ -109,6 +109,7 @@
void AdvanceCycle() override;
void RecedeCycle() override;
bool ShouldPreferAnother(SUnit *SU) override;
+ void Reset() override;
};
} // end namespace llvm
Index: llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+++ llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
@@ -50,6 +50,10 @@
TSchedModel.init(&ST);
}
+void GCNHazardRecognizer::Reset() {
+ EmittedInstrs.clear();
+}
+
void GCNHazardRecognizer::EmitInstruction(SUnit *SU) {
EmitInstruction(SU->getInstr());
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90347.301453.patch
Type: text/x-patch
Size: 1608 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201028/e08834e5/attachment.bin>
More information about the llvm-commits
mailing list