[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: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLaneSSAUpdater.cpp.o</summary>

```
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLaneSSAUpdater.cpp.o
sccache /opt/llvm/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLaneSSAUpdater.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLaneSSAUpdater.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineLaneSSAUpdater.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/MachineLaneSSAUpdater.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/MachineLaneSSAUpdater.cpp:63:12: error: variable 'DefOpIdx' set but not used [-Werror,-Wunused-but-set-variable]
63 |   unsigned DefOpIdx = 0;
|            ^
1 error generated.
```
</details>
<details>
<summary>unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.o</summary>

```
FAILED: unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.o
sccache /opt/llvm/bin/clang++ -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/unittests/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googletest/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googlemock/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -UNDEBUG -Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments -fno-exceptions -funwind-tables -fno-rtti -Wno-suggest-override -MD -MT unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.o -MF unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.o.d -o unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterSpillReloadTest.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/CodeGen/MachineLaneSSAUpdaterSpillReloadTest.cpp
/home/gha/actions-runner/_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);
|                            ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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>unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.o</summary>

```
FAILED: unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.o
sccache /opt/llvm/bin/clang++ -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/unittests/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/CodeGen -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googletest/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/third-party/unittest/googlemock/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -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 -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -UNDEBUG -Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments -fno-exceptions -funwind-tables -fno-rtti -Wno-suggest-override -MD -MT unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.o -MF unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.o.d -o unittests/CodeGen/CMakeFiles/CodeGenTests.dir/MachineLaneSSAUpdaterTest.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/unittests/CodeGen/MachineLaneSSAUpdaterTest.cpp
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                 ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                          ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                          ~~~~~~~~~~~~~~~~~~~~~~~~~~                        ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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);
|                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_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);
|                         ~~~~~~~~~~~~~~~~~~~~~~~~~~                   ^
/home/gha/actions-runner/_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