[llvm-branch-commits] [llvm] [CodeGen] Add initial multi-def rematerialization support (PR #197580)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jun 9 08:49:50 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/Rematerializer.cpp.o</summary>
```
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/Rematerializer.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/Rematerializer.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/Rematerializer.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/Rematerializer.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:314:3: error: no template named 'SmallSet'
314 | SmallSet<RegisterIdx, 8> ShrinkRematRegs;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:315:25: error: use of undeclared identifier 'ShrinkUnrematRegs'; did you mean 'ShrinkRematRegs'?
315 | SmallSet<Register, 8> ShrinkUnrematRegs;
| ^~~~~~~~~~~~~~~~~
| ShrinkRematRegs
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:314:28: note: 'ShrinkRematRegs' declared here
314 | SmallSet<RegisterIdx, 8> ShrinkRematRegs;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:315:3: error: use of undeclared identifier 'SmallSet'
315 | SmallSet<Register, 8> ShrinkUnrematRegs;
| ^~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:327:11: error: use of undeclared identifier 'ShrinkUnrematRegs'; did you mean 'ShrinkRematRegs'?
327 | if (ShrinkUnrematRegs.insert(Reg).second)
| ^~~~~~~~~~~~~~~~~
| ShrinkRematRegs
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:314:28: note: 'ShrinkRematRegs' declared here
314 | SmallSet<RegisterIdx, 8> ShrinkRematRegs;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:603:44: error: use of undeclared identifier 'UnrematDeps'; did you mean 'RematDeps'?
603 | SmallMapVector<Register, LaneBitmask, 2> UnrematDeps;
| ^~~~~~~~~~~
| RematDeps
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:602:34: note: 'RematDeps' declared here
602 | SmallSetVector<RegisterIdx, 2> RematDeps;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:603:3: error: use of undeclared identifier 'SmallMapVector'
603 | SmallMapVector<Register, LaneBitmask, 2> UnrematDeps;
| ^~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:616:13: error: use of undeclared identifier 'UnrematDeps'; did you mean 'RematDeps'?
616 | UnrematDeps.try_emplace(DepReg, LaneBitmask::getNone())
| ^~~~~~~~~~~
| RematDeps
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:602:34: note: 'RematDeps' declared here
602 | SmallSetVector<RegisterIdx, 2> RematDeps;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:616:25: error: no member named 'try_emplace' in 'llvm::SmallSetVector<unsigned int, 2>'
616 | UnrematDeps.try_emplace(DepReg, LaneBitmask::getNone())
| ~~~~~~~~~~~ ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:630:43: error: use of undeclared identifier 'UnrematDeps'; did you mean 'RematDeps'?
630 | for (const auto &[UnrematDepReg, _] : UnrematDeps) {
| ^~~~~~~~~~~
| RematDeps
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:602:34: note: 'RematDeps' declared here
602 | SmallSetVector<RegisterIdx, 2> RematDeps;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:630:22: error: cannot bind non-class, non-array type 'unsigned int const'
630 | for (const auto &[UnrematDepReg, _] : UnrematDeps) {
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SetVector.h:106:26: note: selected 'begin' function with iterator type 'iterator' (aka 'const unsigned int *')
106 | [[nodiscard]] iterator begin() { return vector_.begin(); }
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:644:29: error: use of undeclared identifier 'UnrematDeps'; did you mean 'RematDeps'?
644 | UnrematableDeps.push_back(UnrematDeps.takeVector());
| ^~~~~~~~~~~
| RematDeps
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:602:34: note: 'RematDeps' declared here
602 | SmallSetVector<RegisterIdx, 2> RematDeps;
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/Rematerializer.cpp:644:19: error: no matching member function for call to 'push_back'
644 | UnrematableDeps.push_back(UnrematDeps.takeVector());
| ~~~~~~~~~~~~~~~~^~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:423:8: note: candidate function not viable: no known conversion from 'SmallVector<unsigned int, [...]>' to 'const SmallVector<std::pair<llvm::Register, llvm::LaneBitmask>, [...]>' for 1st argument
423 | void push_back(const T &Elt) {
| ^ ~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:429:8: note: candidate function not viable: no known conversion from 'SmallVector<unsigned int, [...]>' to 'SmallVector<std::pair<llvm::Register, llvm::LaneBitmask>, [...]>' for 1st argument
429 | void push_back(T &&Elt) {
| ^ ~~~~~~~
12 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/197580
More information about the llvm-branch-commits
mailing list