[Mlir-commits] [mlir] [mlir][LLVM] `ControlFlowToLLVM`: Add 1:N type conversion support (PR #153937)

LLVM Continuous Integration llvmlistbot at llvm.org
Sat Aug 16 03:55:06 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `mlir-nvidia-gcc7` running on `mlir-nvidia` while building `mlir` at step 6 "build-check-mlir-build-only".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/116/builds/17026

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build-check-mlir-build-only) failure: build (failure)
...
27.221 [96/4/4845] Linking CXX static library lib/libLLVMSelectionDAG.a
27.351 [95/4/4846] Linking CXX static library lib/libLLVMGlobalISel.a
27.560 [94/4/4847] Linking CXX static library lib/libLLVMPasses.a
27.609 [92/5/4848] Linking CXX static library lib/libMLIRExecutionEngineUtils.a
27.658 [91/5/4849] Linking CXX static library lib/libMLIRTargetLLVM.a
27.707 [89/6/4850] Linking CXX static library lib/libMLIRXeVMTarget.a
27.709 [89/5/4851] Linking CXX static library lib/libMLIRROCDLTarget.a
27.785 [89/4/4852] Linking CXX static library lib/libLLVMOrcJIT.a
27.843 [88/4/4853] Linking CXX static library lib/libLLVMOrcDebugging.a
30.090 [88/3/4854] Building CXX object tools/mlir/lib/Conversion/ControlFlowToLLVM/CMakeFiles/obj.MLIRControlFlowToLLVM.dir/ControlFlowToLLVM.cpp.o
FAILED: tools/mlir/lib/Conversion/ControlFlowToLLVM/CMakeFiles/obj.MLIRControlFlowToLLVM.dir/ControlFlowToLLVM.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/g++-7 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/tools/mlir/lib/Conversion/ControlFlowToLLVM -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/tools/mlir/include -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/include -I/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Wno-unused-but-set-parameter -Wno-deprecated-copy -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++1z -MD -MT tools/mlir/lib/Conversion/ControlFlowToLLVM/CMakeFiles/obj.MLIRControlFlowToLLVM.dir/ControlFlowToLLVM.cpp.o -MF tools/mlir/lib/Conversion/ControlFlowToLLVM/CMakeFiles/obj.MLIRControlFlowToLLVM.dir/ControlFlowToLLVM.cpp.o.d -o tools/mlir/lib/Conversion/ControlFlowToLLVM/CMakeFiles/obj.MLIRControlFlowToLLVM.dir/ControlFlowToLLVM.cpp.o -c /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp: In member function ‘virtual llvm::LogicalResult {anonymous}::BranchOpLowering::matchAndRewrite(mlir::cf::BranchOp, {anonymous}::BranchOpLowering::Adaptor, mlir::ConversionPatternRewriter&) const’:
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp:149:53: error: call of overloaded ‘TypeRange(llvm::SmallVector<mlir::Value>&)’ is ambiguous
                           TypeRange(flattenedAdaptor));
                                                     ^
In file included from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Support/TypeID.h:20:0,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/DialectInterface.h:12,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h:12,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp:16:
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/ADT/STLExtras.h:1286:3: note: candidate: llvm::detail::indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>::indexed_accessor_range_base(const llvm::iterator_range<llvm::detail::indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>::iterator>&) [with DerivedT = mlir::TypeRange; BaseT = llvm::PointerUnion<const mlir::Value*, const mlir::Type*, mlir::OpOperand*, mlir::detail::OpResultImpl*>; T = mlir::Type; PointerT = mlir::Type; ReferenceT = mlir::Type]
   indexed_accessor_range_base(const iterator_range<iterator> &range)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/OperationSupport.h:23:0,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/Dialect.h:17,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/OpDefinition.h:22,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h:14,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp:16:
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/TypeRange.h:39:21: note:   inherited here
   using RangeBaseT::RangeBaseT;
                     ^~~~~~~~~~
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/TypeRange.h:43:12: note: candidate: mlir::TypeRange::TypeRange(mlir::ValueRange)
   explicit TypeRange(ValueRange values);
            ^~~~~~~~~
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp: In member function ‘virtual llvm::LogicalResult {anonymous}::CondBranchOpLowering::matchAndRewrite(mlir::cf::CondBranchOp, {anonymous}::CondBranchOpLowering::Adaptor, mlir::ConversionPatternRewriter&) const’:
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp:181:57: error: call of overloaded ‘TypeRange(llvm::SmallVector<mlir::Value>&)’ is ambiguous
                           TypeRange(flattenedAdaptorTrue));
                                                         ^
In file included from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Support/TypeID.h:20:0,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/DialectInterface.h:12,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h:12,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp:16:
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/ADT/STLExtras.h:1286:3: note: candidate: llvm::detail::indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>::indexed_accessor_range_base(const llvm::iterator_range<llvm::detail::indexed_accessor_range_base<DerivedT, BaseT, T, PointerT, ReferenceT>::iterator>&) [with DerivedT = mlir::TypeRange; BaseT = llvm::PointerUnion<const mlir::Value*, const mlir::Type*, mlir::OpOperand*, mlir::detail::OpResultImpl*>; T = mlir::Type; PointerT = mlir::Type; ReferenceT = mlir::Type]
   indexed_accessor_range_base(const iterator_range<iterator> &range)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/OperationSupport.h:23:0,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/Dialect.h:17,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/IR/OpDefinition.h:22,
                 from /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h:14,

```

</details>

https://github.com/llvm/llvm-project/pull/153937


More information about the Mlir-commits mailing list