[llvm] [RISCV] Consistently use hasVInstructionsF16/BF16(). NFC (PR #191592)

via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 10 21:32:38 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 129719 tests passed
* 2666 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=4294967295] bin/mlir-capi-ir-test.exe</summary>

```
FAILED: [code=4294967295] bin/mlir-capi-ir-test.exe
C:\Windows\system32\cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --msvc-ver=1944 --intdir=tools\mlir\test\CAPI\CMakeFiles\mlir-capi-ir-test.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\mlir-capi-ir-test.rsp  /out:bin\mlir-capi-ir-test.exe /implib:lib\mlir-capi-ir-test.lib /pdb:bin\mlir-capi-ir-test.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console && cd ."
LINK: command "C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\mlir-capi-ir-test.rsp /out:bin\mlir-capi-ir-test.exe /implib:lib\mlir-capi-ir-test.lib /pdb:bin\mlir-capi-ir-test.pdb /version:0.0 /MANIFEST:NO /STACK:10000000 /INCREMENTAL:NO /subsystem:console" failed (exit code 1) with the following output:
lld-link: error: undefined symbol: class llvm::SetVector<class mlir::Block *, class llvm::SmallVector<class mlir::Block *, 0>, class llvm::DenseSet<class mlir::Block *, struct llvm::DenseMapInfo<class mlir::Block *, void>>, 0> __cdecl mlir::getBlocksSortedByDominance(class mlir::Region &)
>>> referenced by MLIROpenACCToLLVMIRTranslation.lib(OpenACCToLLVMIRTranslation.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl `anonymous namespace'::OpenACCDialectLLVMIRTranslationInterface::convertOperation(class mlir::Operation *, class LogicalResult::IRBuilderBase &, class Operation::LLVM::ModuleTranslation &) const)
>>> referenced by MLIROpenMPToLLVMIRTranslation.lib(OpenMPToLLVMIRTranslation.cpp.obj):(class llvm::Expected<class llvm::BasicBlock *> __cdecl convertOmpOpRegions(class mlir::Region &, class llvm::StringRef, class llvm::IRBuilderBase &, class mlir::LLVM::ModuleTranslation &, class llvm::SmallVectorImpl<class llvm::PHINode *> *))
>>> referenced by MLIRTargetLLVMIRExport.lib(ModuleTranslation.cpp.obj):(private: struct llvm::LogicalResult __cdecl mlir::LLVM::ModuleTranslation::convertOneFunction(class mlir::LLVM::LLVMFuncOp))
>>> referenced 2 more times

lld-link: error: undefined symbol: class mlir::WalkContinuation __cdecl mlir::walkSlice(class mlir::ValueRange, class llvm::function_ref<class mlir::WalkContinuation __cdecl(class mlir::Value)>)
>>> referenced by MLIRLLVMIRTransforms.lib(InlinerInterfaceImpl.cpp.obj):(private: static void __cdecl llvm::function_ref<void __cdecl(class mlir::Operation *)>::callback_fn<class `void __cdecl mlir::detail::walk<1, struct mlir::ForwardIterator, class `void __cdecl createNewAliasScopesFromNoAliasParameter(class mlir::Operation *, class llvm::iterator_range<class llvm::ilist_iterator<struct llvm::ilist_detail::node_options<class mlir::Block, 1, 0, void, 0, void>, 0, 0>>)'::`1'::<lambda_11> &, class mlir::LLVM::AliasAnalysisOpInterface, void>(class mlir::Operation *, class `void __cdecl createNewAliasScopesFromNoAliasParameter(class mlir::Operation *, class llvm::iterator_range<class llvm::ilist_iterator<struct llvm::ilist_detail::node_options<class mlir::Block, 1, 0, void, 0, void>, 0, 0>>)'::`1'::<lambda_11> &)'::`1'::<lambda_1>>(__int64, class mlir::Operation *))

lld-link: error: undefined symbol: class std::optional<class llvm::SmallVector<class mlir::Value, 6>> __cdecl mlir::getControlFlowPredecessors(class mlir::Value)
>>> referenced by MLIRLLVMIRTransforms.lib(InlinerInterfaceImpl.cpp.obj):(private: static class mlir::WalkContinuation __cdecl llvm::function_ref<class mlir::WalkContinuation __cdecl(class mlir::Value)>::callback_fn<class `class llvm::FailureOr<class llvm::SmallVector<class mlir::Value, 6>> __cdecl getUnderlyingObjectSet(class mlir::Value)'::`1'::<lambda_9>>(__int64, class mlir::Value))

lld-link: error: undefined symbol: public: __cdecl mlir::CallGraph::CallGraph(class mlir::Operation *)
>>> referenced by MLIRTransformDialect.lib(TransformDialect.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl mlir::transform::TransformDialect::verifyOperationAttribute(class mlir::Operation *, class mlir::NamedAttribute))
>>> referenced by MLIRTransforms.lib(InlinerPass.cpp.obj):(private: class mlir::CallGraph & __cdecl mlir::detail::AnalysisMap::getAnalysisImpl<class mlir::CallGraph, class mlir::Operation *>(class mlir::PassInstrumentor *, class mlir::Operation *, class mlir::AnalysisManager &))

lld-link: error: undefined symbol: public: bool __cdecl mlir::CallGraphNode::isExternal(void) const
>>> referenced by MLIRTransformDialect.lib(TransformDialect.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl mlir::transform::TransformDialect::verifyOperationAttribute(class mlir::Operation *, class mlir::NamedAttribute))
>>> referenced by MLIRTransformDialect.lib(TransformDialect.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl mlir::transform::TransformDialect::verifyOperationAttribute(class mlir::Operation *, class mlir::NamedAttribute))
>>> referenced by MLIRTransformUtils.lib(Inliner.cpp.obj):(void __cdecl collectCallOps(class llvm::iterator_range<class llvm::ilist_iterator<struct llvm::ilist_detail::node_options<class mlir::Block, 1, 0, void, 0, void>, 0, 0>>, class mlir::CallGraphNode *, class mlir::CallGraph &, class mlir::SymbolTableCollection &, class llvm::SmallVectorImpl<struct mlir::Inliner::ResolvedCall> &, bool))
>>> referenced 2 more times

lld-link: error: undefined symbol: public: class mlir::Region * __cdecl mlir::CallGraphNode::getCallableRegion(void) const
>>> referenced by MLIRTransformDialect.lib(TransformDialect.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl mlir::transform::TransformDialect::verifyOperationAttribute(class mlir::Operation *, class mlir::NamedAttribute))
>>> referenced by MLIRTransformDialect.lib(TransformDialect.cpp.obj):(public: virtual struct llvm::LogicalResult __cdecl mlir::transform::TransformDialect::verifyOperationAttribute(class mlir::Operation *, class mlir::NamedAttribute))
>>> referenced by MLIRTransforms.lib(InlinerPass.cpp.obj):(private: virtual bool __cdecl std::_Func_impl_no_alloc<class `public: virtual void __cdecl `anonymous namespace'::InlinerPass::runOnOperation(void)'::`1'::<lambda_2>, bool, struct mlir::Inliner::ResolvedCall const &>::_Do_call(struct mlir::Inliner::ResolvedCall const &))
>>> referenced 11 more times

lld-link: error: undefined symbol: public: class mlir::DataLayout const & __cdecl mlir::DataLayoutAnalysis::getAtOrAbove(class mlir::Operation *) const
>>> referenced by MLIRFuncToLLVM.lib(FuncToLLVM.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::ConvertFuncToLLVMPass::runOnOperation(void))
>>> referenced by MLIRMemRefToLLVM.lib(MemRefToLLVM.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::FinalizeMemRefToLLVMConversionPass::runOnOperation(void))
>>> referenced by MLIRMemRefTransformOps.lib(MemRefTransformOps.cpp.obj):(private: static bool __cdecl llvm::function_ref<bool __cdecl(class mlir::memref::AllocOp, class mlir::memref::DeallocOp)>::callback_fn<class `public: virtual struct llvm::LogicalResult __cdecl `anonymous namespace'::AllocToAllocaPattern::matchAndRewrite(class mlir::memref::AllocOp, class memref::PatternRewriter &) const'::`1'::<lambda_1>>(__int64, class mlir::memref::AllocOp, class mlir::memref::DeallocOp))
>>> referenced 3 more times

lld-link: error: undefined symbol: public: __cdecl mlir::DataLayoutAnalysis::DataLayoutAnalysis(class mlir::Operation *)
>>> referenced by MLIRFuncToLLVM.lib(FuncToLLVM.cpp.obj):(private: class mlir::DataLayoutAnalysis & __cdecl mlir::detail::AnalysisMap::getAnalysisImpl<class mlir::DataLayoutAnalysis, class mlir::ModuleOp>(class mlir::PassInstrumentor *, class mlir::ModuleOp, class mlir::AnalysisManager &))
>>> referenced by MLIRMemRefToLLVM.lib(MemRefToLLVM.cpp.obj)
>>> referenced by MLIRMemRefTransformOps.lib(MemRefTransformOps.cpp.obj):(public: void __cdecl mlir::transform::ApplyAllocToAllocaOp::populatePatternsWithState(class mlir::RewritePatternSet &, class mlir::transform::TransformState &))
>>> referenced 1 more times

lld-link: error: undefined symbol: public: class mlir::DataLayout const & __cdecl mlir::DataLayoutAnalysis::getAbove(class mlir::Operation *) const
>>> referenced by MLIRMemRefToLLVM.lib(MemRefToLLVM.cpp.obj):(unsigned int __cdecl `anonymous namespace'::getMemRefEltSizeInBytes(class mlir::LLVMTypeConverter const *, class LLVMTypeConverter::MemRefType, class LLVMTypeConverter::Operation *, class LLVMTypeConverter::DataLayout const *))

lld-link: error: undefined symbol: public: bool __cdecl mlir::FlatLinearValueConstraints::findVar(class mlir::Value, unsigned int *, unsigned int) const
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(public: class mlir::DiagnosedSilenceableFailure __cdecl mlir::transform::SimplifyBoundedAffineOpsOp::apply(class mlir::transform::TransformRewriter &, class mlir::transform::TransformResults &, class mlir::transform::TransformState &))
>>> referenced by MLIRAffineAnalysis.lib(Utils.cpp.obj):(public: struct llvm::LogicalResult __cdecl mlir::affine::MemRefRegion::compute(class mlir::Operation *, unsigned int, struct mlir::affine::ComputationSliceState const *, bool, bool, bool))
>>> referenced by MLIRAffineAnalysis.lib(AffineStructures.cpp.obj):(public: struct llvm::LogicalResult __cdecl mlir::affine::FlatAffineValueConstraints::addAffineForOpDomain(class mlir::affine::AffineForOp))
>>> referenced 3 more times

lld-link: error: undefined symbol: public: unsigned int __cdecl mlir::FlatLinearValueConstraints::appendSymbolVar(class mlir::ValueRange)
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(public: class mlir::DiagnosedSilenceableFailure __cdecl mlir::transform::SimplifyBoundedAffineOpsOp::apply(class mlir::transform::TransformRewriter &, class mlir::transform::TransformResults &, class mlir::transform::TransformState &))
>>> referenced by MLIRAffineAnalysis.lib(Utils.cpp.obj):(struct llvm::LogicalResult __cdecl alignAndAddBound(class mlir::affine::FlatAffineValueConstraints &, enum mlir::presburger::BoundType, unsigned int, class mlir::AffineMap, class mlir::ValueRange))
>>> referenced by MLIRSCFUtils.lib(AffineCanonicalizationUtils.cpp.obj):(struct llvm::LogicalResult __cdecl mlir::scf::addLoopRangeConstraints(class mlir::affine::FlatAffineValueConstraints &, class mlir::Value, class mlir::OpFoldResult, class mlir::OpFoldResult, class mlir::OpFoldResult))
>>> referenced 3 more times

lld-link: error: undefined symbol: public: virtual unsigned int __cdecl mlir::FlatLinearValueConstraints::insertVar(enum mlir::presburger::VarKind, unsigned int, unsigned int)
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::affine::FlatAffineValueConstraints::`vftable')
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::FlatLinearValueConstraints::`vftable')
>>> referenced by MLIRAffineTransforms.lib(LoopFusion.cpp.obj)
>>> referenced 1 more times

lld-link: error: undefined symbol: public: virtual void __cdecl mlir::FlatLinearValueConstraints::removeVarRange(enum mlir::presburger::VarKind, unsigned int, unsigned int)
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::affine::FlatAffineValueConstraints::`vftable')
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::FlatLinearValueConstraints::`vftable')
>>> referenced by MLIRAffineTransforms.lib(LoopFusion.cpp.obj)
>>> referenced 1 more times

lld-link: error: undefined symbol: public: virtual void __cdecl mlir::FlatLinearValueConstraints::printSpace(class llvm::raw_ostream &) const
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::affine::FlatAffineValueConstraints::`vftable')
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::FlatLinearValueConstraints::`vftable')
>>> referenced by MLIRAffineTransforms.lib(LoopFusion.cpp.obj)
>>> referenced 1 more times

lld-link: error: undefined symbol: protected: virtual void __cdecl mlir::FlatLinearConstraints::printSpace(class llvm::raw_ostream &) const
>>> referenced by MLIRAffineTransformOps.lib(AffineTransformOps.cpp.obj):(const mlir::FlatLinearConstraints::`vftable')
>>> referenced by MLIRAffineTransforms.lib(LoopFusion.cpp.obj)
>>> referenced by MLIRValueBoundsOpInterface.lib(ValueBoundsOpInterface.cpp.obj)

lld-link: error: undefined symbol: struct llvm::LogicalResult __cdecl mlir::getBackwardSlice(class mlir::Operation *, class llvm::SetVector<class mlir::Operation *, class llvm::SmallVector<class mlir::Operation *, 0>, class llvm::DenseSet<class mlir::Operation *, struct llvm::DenseMapInfo<class mlir::Operation *, void>>, 0> *, struct mlir::BackwardSliceOptions const &)
>>> referenced by MLIRNVGPUTransformOps.lib(NVGPUTransformOps.cpp.obj):(private: virtual void __cdecl std::_Func_impl_no_alloc<class `class std::tuple<class mlir::DiagnosedSilenceableFailure, class mlir::scf::ForOp> __cdecl pipelineForSharedCopies(class mlir::RewriterBase &, class mlir::scf::ForOp, __int64, bool)'::`1'::<lambda_9>, void, class mlir::scf::ForOp, class std::vector<struct std::pair<class mlir::Operation *, unsigned int>, class std::allocator<struct std::pair<class mlir::Operation *, unsigned int>>> &>::_Do_call(class mlir::scf::ForOp &&, class std::vector<struct std::pair<class mlir::Operation *, unsigned int>, class std::allocator<struct std::pair<class mlir::Operation *, unsigned int>>> &))
>>> referenced by MLIRVectorToGPU.lib(VectorToGPU.cpp.obj):(private: static void __cdecl llvm::function_ref<void __cdecl(class mlir::Operation *)>::callback_fn<class `class llvm::SetVector<class mlir::Operation *, class llvm::SmallVector<class mlir::Operation *, 0>, class llvm::DenseSet<class mlir::Operation *, struct llvm::DenseMapInfo<class mlir::Operation *, void>>, 0> __cdecl getOpToConvert(class mlir::Operation *, bool)'::`1'::<lambda_5>>(__int64, class mlir::Operation *))
>>> referenced by MLIRTransformUtils.lib(RegionUtils.cpp.obj):(struct llvm::LogicalResult __cdecl mlir::moveOperationDependencies(class mlir::RewriterBase &, class mlir::Operation *, class mlir::Operation *, class mlir::DominanceInfo &))
>>> referenced 1 more times

lld-link: error: undefined symbol: void __cdecl mlir::getForwardSlice(class mlir::Value, class llvm::SetVector<class mlir::Operation *, class llvm::SmallVector<class mlir::Operation *, 0>, class llvm::DenseSet<class mlir::Operation *, struct llvm::DenseMapInfo<class mlir::Operation *, void>>, 0> *, struct mlir::SliceOptions const &)
>>> referenced by MLIRTransforms.lib(Mem2Reg.cpp.obj):(struct llvm::LogicalResult __cdecl mlir::tryToPromoteMemorySlots(class llvm::ArrayRef<class mlir::PromotableAllocationOpInterface>, class mlir::OpBuilder &, class mlir::DataLayout const &, class mlir::DominanceInfo &, struct mlir::Mem2RegStatistics))
>>> referenced by MLIRTransforms.lib(SROA.cpp.obj):(struct llvm::LogicalResult __cdecl mlir::tryToDestructureMemorySlots(class llvm::ArrayRef<class mlir::DestructurableAllocationOpInterface>, class mlir::OpBuilder &, class mlir::DataLayout const &, struct mlir::SROAStatistics))
>>> referenced by MLIRVectorToGPU.lib(VectorToGPU.cpp.obj):(private: static void __cdecl llvm::function_ref<void __cdecl(class mlir::Operation *)>::callback_fn<class `class llvm::SetVector<class mlir::Operation *, class llvm::SmallVector<class mlir::Operation *, 0>, class llvm::DenseSet<class mlir::Operation *, struct llvm::DenseMapInfo<class mlir::Operation *, void>>, 0> __cdecl getOpToConvert(class mlir::Operation *, bool)'::`1'::<lambda_5>>(__int64, class mlir::Operation *))
>>> referenced 3 more times

lld-link: error: undefined symbol: public: __cdecl mlir::dataflow::RunLivenessAnalysis::RunLivenessAnalysis(class mlir::Operation *)
>>> referenced by MLIRTransforms.lib(RemoveDeadValues.cpp.obj):(private: struct mlir::dataflow::RunLivenessAnalysis & __cdecl mlir::detail::AnalysisMap::getAnalysisImpl<struct mlir::dataflow::RunLivenessAnalysis, class mlir::Operation *>(class mlir::PassInstrumentor *, class mlir::Operation *, class mlir::AnalysisManager &))

lld-link: error: undefined symbol: public: struct mlir::dataflow::Liveness const * __cdecl mlir::dataflow::RunLivenessAnalysis::getLiveness(class mlir::Value)
>>> referenced by MLIRTransforms.lib(RemoveDeadValues.cpp.obj):(class llvm::BitVector __cdecl `anonymous namespace'::markLives(class mlir::ValueRange, class BitVector::DenseSet<class mlir::Value, struct llvm::DenseMapInfo<class mlir::Value, void>> const &, struct ValueRange::dataflow::RunLivenessAnalysis &))
>>> referenced by MLIRTransforms.lib(RemoveDeadValues.cpp.obj):(bool __cdecl `anonymous namespace'::hasLive(class mlir::ValueRange, class llvm::DenseSet<class mlir::Value, struct llvm::DenseMapInfo<class mlir::Value, void>> const &, struct ValueRange::dataflow::RunLivenessAnalysis &))

lld-link: error: undefined symbol: public: struct llvm::LogicalResult __cdecl mlir::DataFlowSolver::initializeAndRun(class mlir::Operation *)
>>> referenced by MLIRTransforms.lib(SCCP.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::SCCP::runOnOperation(void))
>>> referenced by MLIRArithTransforms.lib(IntRangeOptimizations.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::IntRangeNarrowingPass::runOnOperation(void))
>>> referenced by MLIRArithTransforms.lib(IntRangeOptimizations.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::IntRangeOptimizationsPass::runOnOperation(void))
>>> referenced 2 more times

lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
```
</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/191592


More information about the llvm-commits mailing list