[llvm] [AMDGPU] Detect VALU-after-MFMA hazard in post-RA scheduler's getHazardType (PR #184084)

via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 06:18:09 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 3083 tests passed
* 29 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=1] lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/GCNHazardRecognizer.cpp.obj</summary>

```
FAILED: [code=1] lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/GCNHazardRecognizer.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\lib\Target\AMDGPU -IC:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Folib\Target\AMDGPU\CMakeFiles\LLVMAMDGPUCodeGen.dir\GCNHazardRecognizer.cpp.obj /Fdlib\Target\AMDGPU\CMakeFiles\LLVMAMDGPUCodeGen.dir\LLVMAMDGPUCodeGen.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.cpp(2471,26): error: out-of-line definition of 'checkVALUImmediatelyAfterMFMAHazard' does not match any declaration in 'llvm::GCNHazardRecognizer'
2471 | int GCNHazardRecognizer::checkVALUImmediatelyAfterMFMAHazard(const MachineInstr &MI) {
|                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.h(33,7): note: GCNHazardRecognizer defined here
33 | class GCNHazardRecognizer final : public ScheduleHazardRecognizer {
|       ^~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.h(163,43): note: type of 1st parameter of member declaration does not match definition ('MachineInstr *' vs 'const MachineInstr &')
163 |   int checkVALUImmediatelyAfterMFMAHazard(MachineInstr *MI);
|                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.cpp(2475,30): error: indirection requires pointer operand ('const MachineInstr' invalid)
2475 |   assert(SIInstrInfo::isVALU(*MI) && !SIInstrInfo::isMFMA(*MI));
|                              ^~~
C:\_work\llvm-project\llvm-project\llvm\lib\Target\AMDGPU\GCNHazardRecognizer.cpp(2475,59): error: indirection requires pointer operand ('const MachineInstr' invalid)
2475 |   assert(SIInstrInfo::isVALU(*MI) && !SIInstrInfo::isMFMA(*MI));
|                                                           ^~~
3 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/184084


More information about the llvm-commits mailing list