From 29067aac46d4f53f75c2d7e07e1afb7cb36212be Mon Sep 17 00:00:00 2001 From: Jay Foad Date: Wed, 6 May 2020 11:16:57 +0100 Subject: [PATCH] [AMDGPU] Don't implement GCNHazardRecognizer::PreEmitNoops(SUnit *) When called from the post-RA scheduler, hazards have already been handled by getHazardType returning NoopHazard, so PreEmitNoops always returns zero. Remove it. NFC. Historical note: PreEmitNoops was added to the hazard recognizer interface as an optional feature to support dispatch group formation on the POWER target: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20131202/197470.html So it seems right that we shouldn't need to implement it. We do still implement the other overload PreEmitNoops(MachineInstr *) because that is used by the PostRAHazardRecognizer pass. Differential Revision: https://reviews.llvm.org/D79476 --- llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 5 ----- llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h | 1 - 2 files changed, 6 deletions(-) diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp index 02a44f929217..8482dbfec250 100644 --- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp +++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp @@ -228,11 +228,6 @@ void GCNHazardRecognizer::processBundle() { CurrCycleInstr = nullptr; } -unsigned GCNHazardRecognizer::PreEmitNoops(SUnit *SU) { - IsHazardRecognizerMode = false; - return PreEmitNoopsCommon(SU->getInstr()); -} - unsigned GCNHazardRecognizer::PreEmitNoops(MachineInstr *MI) { IsHazardRecognizerMode = true; CurrCycleInstr = MI; diff --git a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h index 6aa2e70dfbfb..cd17f2755bd1 100644 --- a/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h +++ b/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h @@ -105,7 +105,6 @@ public: void EmitInstruction(MachineInstr *MI) override; HazardType getHazardType(SUnit *SU, int Stalls) override; void EmitNoop() override; - unsigned PreEmitNoops(SUnit *SU) override; unsigned PreEmitNoops(MachineInstr *) override; unsigned PreEmitNoopsCommon(MachineInstr *); void AdvanceCycle() override;