[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