[Mlir-commits] [mlir] [MLIR][SCF] Support permutation-based parallel loop fusion (PR #203207)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Jun 11 02:30:42 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
The build failed before running any tests. Click on a failure below to see the details.
<details>
<summary>[code=1] tools/mlir/lib/Dialect/SCF/Transforms/CMakeFiles/obj.MLIRSCFTransforms.dir/ParallelLoopFusion.cpp.obj</summary>
```
FAILED: [code=1] tools/mlir/lib/Dialect/SCF/Transforms/CMakeFiles/obj.MLIRSCFTransforms.dir/ParallelLoopFusion.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\tools\mlir\lib\Dialect\SCF\Transforms -IC:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms -IC:\_work\llvm-project\llvm-project\build\tools\mlir\include -IC:\_work\llvm-project\llvm-project\mlir\include -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 -Wundef -Werror=mismatched-tags -Werror=global-constructors /O2 /Ob2 -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\mlir\lib\Dialect\SCF\Transforms\CMakeFiles\obj.MLIRSCFTransforms.dir\ParallelLoopFusion.cpp.obj /Fdtools\mlir\lib\Dialect\SCF\Transforms\CMakeFiles\obj.MLIRSCFTransforms.dir\ -c -- C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(786,14): error: no member named 'getEmptyKey' in 'llvm::DenseMapInfo<mlir::Value>'; did you mean simply 'getEmptyKey'?
786 | auto e = DenseMapInfo<mlir::Value>::getEmptyKey();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| getEmptyKey
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(785,24): note: 'getEmptyKey' declared here
785 | static inline LoopIV getEmptyKey() {
| ^
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(787,13): error: no viable conversion from 'LoopIV' to 'Value'
787 | return {e, e, e}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(787,16): error: no viable conversion from 'LoopIV' to 'Value'
787 | return {e, e, e}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(787,19): error: no viable conversion from 'LoopIV' to 'Value'
787 | return {e, e, e}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(790,14): error: no member named 'getTombstoneKey' in 'llvm::DenseMapInfo<mlir::Value>'; did you mean simply 'getTombstoneKey'?
790 | auto t = DenseMapInfo<mlir::Value>::getTombstoneKey();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| getTombstoneKey
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(789,24): note: 'getTombstoneKey' declared here
789 | static inline LoopIV getTombstoneKey() {
| ^
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(791,13): error: no viable conversion from 'LoopIV' to 'Value'
791 | return {t, t, t}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(791,16): error: no viable conversion from 'LoopIV' to 'Value'
791 | return {t, t, t}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(791,19): error: no viable conversion from 'LoopIV' to 'Value'
791 | return {t, t, t}; // Must be impossible to occur naturally
| ^
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'LoopIV' to 'const Value &' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(96,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'LoopIV' to 'Value &&' for 1st argument
96 | class Value {
| ^~~~~
C:\_work\llvm-project\llvm-project\mlir\include\mlir/IR/Value.h(98,13): note: candidate constructor not viable: no known conversion from 'LoopIV' to 'detail::ValueImpl *' for 1st argument
98 | constexpr Value(detail::ValueImpl *impl = nullptr) : impl(impl) {}
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\mlir\lib\Dialect\SCF\Transforms\ParallelLoopFusion.cpp(833,35): warning: 'std::not_equal_to' may not intend to support class template argument deduction [-Wctad-maybe-unsupported]
833 | diffIVs.begin(), std::not_equal_to());
| ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xutility(610,8): note: add a deduction guide to suppress this warning
610 | struct not_equal_to {
| ^
1 warning and 8 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/203207
More information about the Mlir-commits
mailing list