[llvm] [CodeGen] Introduce MachineLaneSSAUpdater for SSA Repair in Machine IR (PR #163421)

via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 22 09:37:11 PDT 2026


github-actions[bot] wrote:

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

* 61583 tests passed
* 1606 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] unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.obj</summary>

```
FAILED: [code=1] unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -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\unittests\CodeGen -IC:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\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 -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\CodeGen\CMakeFiles\CodeGenTests.dir\MachineLaneSSAUpdaterSpillReloadTest.cpp.obj /Fdunittests\CodeGen\CMakeFiles\CodeGenTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterSpillReloadTest.cpp
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterSpillReloadTest.cpp(285,73): error: too few arguments to function call, expected 3, have 2
285 |       Register ReloadReg = Updater.repairSSAForNewDef(*ReloadMI, OrigReg);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
</details>
<details>
<summary>[code=1] unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.obj</summary>

```
FAILED: [code=1] unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -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\unittests\CodeGen -IC:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googletest\include -IC:\_work\llvm-project\llvm-project\third-party\unittest\googlemock\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 -Wno-gnu-zero-variadic-macro-arguments /EHs-c- /GR- -Wno-suggest-override /showIncludes /Founittests\CodeGen\CMakeFiles\CodeGenTests.dir\MachineLaneSSAUpdaterTest.cpp.obj /Fdunittests\CodeGen\CMakeFiles\CodeGenTests.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(276,70): error: too few arguments to function call, expected 3, have 2
276 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(428,70): error: too few arguments to function call, expected 3, have 2
428 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(651,68): error: too few arguments to function call, expected 3, have 2
651 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, Reg64);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                 ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(836,67): error: too few arguments to function call, expected 3, have 2
836 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, RegX);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(998,70): error: too few arguments to function call, expected 3, have 2
998 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(1219,70): error: too few arguments to function call, expected 3, have 2
1219 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(1508,71): error: too few arguments to function call, expected 3, have 2
1508 |       Register NewReg1 = Updater.repairSSAForNewDef(NewDefMI1, OrigReg);
|                          ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(1547,76): error: too few arguments to function call, expected 3, have 2
1547 |       Register NewReg2 = Updater.repairSSAForNewDef(NewDefMI2, IncrementReg);
|                          ~~~~~~~~~~~~~~~~~~~~~~~~~~                        ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(1756,70): error: too few arguments to function call, expected 3, have 2
1756 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(2057,70): error: too few arguments to function call, expected 3, have 2
2057 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\unittests\CodeGen\MachineLaneSSAUpdaterTest.cpp(2257,70): error: too few arguments to function call, expected 3, have 2
2257 |       Register NewReg = Updater.repairSSAForNewDef(*NewDefMI, OrigReg);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/CodeGen/MachineLaneSSAUpdater.h(78,12): note: 'repairSSAForNewDef' declared here
78 |   Register repairSSAForNewDef(MachineInstr &NewDefMI, Register OrigVReg,
|            ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 |                               SmallVectorImpl<MachineOperand *> &PHIRegDefOps);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 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/163421


More information about the llvm-commits mailing list