[llvm] [NVPTX] Scalarize v2f32 instructions if input operand guarantees need for register coalescing (PR #180113)

via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 9 22:09:21 PST 2026


github-actions[bot] wrote:

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

* 60164 tests passed
* 1424 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/llvm-opt-fuzzer.exe</summary>

```
FAILED: [code=4294967295] bin/llvm-opt-fuzzer.exe
cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\llvm-opt-fuzzer\CMakeFiles\llvm-opt-fuzzer.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\mt.exe" --manifests  -- C:\clang\clang-msvc\bin\lld-link.exe /nologo @CMakeFiles\llvm-opt-fuzzer.rsp  /out:bin\llvm-opt-fuzzer.exe /implib:lib\llvm-opt-fuzzer.lib /pdb:bin\llvm-opt-fuzzer.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\llvm-opt-fuzzer.rsp /out:bin\llvm-opt-fuzzer.exe /implib:lib\llvm-opt-fuzzer.lib /pdb:bin\llvm-opt-fuzzer.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: LLVMInitializeRISCVTargetMC
>>> referenced by tools\llvm-opt-fuzzer\CMakeFiles\llvm-opt-fuzzer.dir\llvm-opt-fuzzer.cpp.obj:(void __cdecl llvm::InitializeAllTargetMCs(void))

lld-link: error: undefined symbol: enum llvm::RISCVABI::ABI __cdecl llvm::RISCVABI::getTargetABI(class llvm::StringRef)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVTargetMachine.cpp.obj):(public: virtual class llvm::RISCVSubtarget const * __cdecl llvm::RISCVTargetMachine::getSubtargetImpl(class llvm::Function const &) const)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitStartOfAsmFile(class llvm::Module &))

lld-link: error: undefined symbol: struct llvm::RISCV::VLSEGPseudo const * __cdecl llvm::RISCV::getVLSEGPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: void __cdecl llvm::RISCVDAGToDAGISel::selectVLSEG(class llvm::SDNode *, unsigned int, bool, bool))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: void __cdecl llvm::RISCVDAGToDAGISel::selectVLSEGFF(class llvm::SDNode *, unsigned int, bool))

lld-link: error: undefined symbol: struct llvm::RISCV::VLXSEGPseudo const * __cdecl llvm::RISCV::getVLXSEGPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: void __cdecl llvm::RISCVDAGToDAGISel::selectVLXSEG(class llvm::SDNode *, unsigned int, bool, bool))

lld-link: error: undefined symbol: struct llvm::RISCV::VSSEGPseudo const * __cdecl llvm::RISCV::getVSSEGPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: void __cdecl llvm::RISCVDAGToDAGISel::selectVSSEG(class llvm::SDNode *, unsigned int, bool, bool))

lld-link: error: undefined symbol: struct llvm::RISCV::VSXSEGPseudo const * __cdecl llvm::RISCV::getVSXSEGPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: void __cdecl llvm::RISCVDAGToDAGISel::selectVSXSEG(class llvm::SDNode *, unsigned int, bool, bool))

lld-link: error: undefined symbol: struct llvm::RISCV::VSEPseudo const * __cdecl llvm::RISCV::getVSEPseudo(unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVInstructionSelector.cpp.obj):(private: bool __cdecl `anonymous namespace'::RISCVInstructionSelector::selectIntrinsicWithSideEffects(class llvm::MachineInstr &, class MachineInstr::MachineIRBuilder &) const)

lld-link: error: undefined symbol: struct llvm::RISCV::VLX_VSXPseudo const * __cdecl llvm::RISCV::getVSXPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVInstructionSelector.cpp.obj):(private: bool __cdecl `anonymous namespace'::RISCVInstructionSelector::selectIntrinsicWithSideEffects(class llvm::MachineInstr &, class MachineInstr::MachineIRBuilder &) const)

lld-link: error: undefined symbol: struct llvm::RISCV::NDSVLNPseudo const * __cdecl llvm::RISCV::getNDSVLNPseudo(unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))

lld-link: error: undefined symbol: struct llvm::RISCV::VLX_VSXPseudo const * __cdecl llvm::RISCV::getVLXPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVInstructionSelector.cpp.obj):(private: bool __cdecl `anonymous namespace'::RISCVInstructionSelector::selectIntrinsicWithSideEffects(class llvm::MachineInstr &, class MachineInstr::MachineIRBuilder &) const)

lld-link: error: undefined symbol: struct llvm::RISCV::VLEPseudo const * __cdecl llvm::RISCV::getVLEPseudo(unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(public: virtual void __cdecl llvm::RISCVDAGToDAGISel::Select(class llvm::SDNode *))
>>> referenced 1 more times

lld-link: error: undefined symbol: class llvm::SmallVector<class llvm::RISCVMatInt::Inst, 8> __cdecl llvm::RISCVMatInt::generateInstSeq(__int64, class llvm::MCSubtargetInfo const &)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(class llvm::SDValue __cdecl selectImm(class llvm::SelectionDAG *, class llvm::SDLoc const &, class llvm::MVT, __int64, class llvm::RISCVSubtarget const &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(bool __cdecl selectConstantAddr(class llvm::SelectionDAG *, class llvm::SDLoc const &, class llvm::MVT, class llvm::RISCVSubtarget const *, class llvm::SDValue, class llvm::SDValue &, class llvm::SDValue &, bool))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelLowering.cpp.obj):(public: virtual bool __cdecl llvm::RISCVTargetLowering::shouldConvertConstantLoadToIntImm(class llvm::APInt const &, class llvm::Type *) const)
>>> referenced 4 more times

lld-link: error: undefined symbol: class llvm::SmallVector<class llvm::RISCVMatInt::Inst, 8> __cdecl llvm::RISCVMatInt::generateTwoRegInstSeq(__int64, class llvm::MCSubtargetInfo const &, unsigned int &, unsigned int &)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(class llvm::SDValue __cdecl selectImm(class llvm::SelectionDAG *, class llvm::SDLoc const &, class llvm::MVT, __int64, class llvm::RISCVSubtarget const &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelLowering.cpp.obj):(class llvm::SDValue __cdecl lowerConstant(class llvm::SDValue, class llvm::SelectionDAG &, class llvm::RISCVSubtarget const &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVLegalizerInfo.cpp.obj):(private: bool __cdecl llvm::RISCVLegalizerInfo::shouldBeInConstantPool(class llvm::APInt const &, bool) const)

lld-link: error: undefined symbol: int __cdecl llvm::RISCVMatInt::getIntMatCost(class llvm::APInt const &, unsigned int, class llvm::MCSubtargetInfo const &, bool, bool)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(private: bool __cdecl llvm::RISCVDAGToDAGISel::selectImm64IfCheaper(__int64, __int64, class llvm::SDValue, class llvm::SDValue &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(private: bool __cdecl llvm::RISCVDAGToDAGISel::selectImm64IfCheaper(__int64, __int64, class llvm::SDValue, class llvm::SDValue &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVTargetTransformInfo.cpp.obj):(class llvm::InstructionCost __cdecl getIntImmCostImpl(class llvm::DataLayout const &, class llvm::RISCVSubtarget const *, class llvm::APInt const &, class llvm::Type *, enum llvm::TargetTransformInfo::TargetCostKind, bool))
>>> referenced 6 more times

lld-link: error: undefined symbol: public: enum llvm::RISCVMatInt::OpndKind __cdecl llvm::RISCVMatInt::Inst::getOpndKind(void) const
>>> referenced by LLVMRISCVCodeGen.lib(RISCVISelDAGToDAG.cpp.obj):(class llvm::SDValue __cdecl selectImmSeq(class llvm::SelectionDAG *, class llvm::SDLoc const &, class llvm::MVT, class llvm::SmallVector<class llvm::RISCVMatInt::Inst, 8> &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVInstrInfo.cpp.obj):(public: void __cdecl llvm::RISCVInstrInfo::movImm(class llvm::MachineBasicBlock &, class llvm::MachineInstrBundleIterator<class llvm::MachineInstr, 0>, class llvm::DebugLoc const &, class llvm::Register, unsigned __int64, enum llvm::MachineInstr::MIFlag, bool, bool) const)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVInstructionSelector.cpp.obj):(private: bool __cdecl `anonymous namespace'::RISCVInstructionSelector::materializeImm(class llvm::Register, __int64, class Register::MachineIRBuilder &) const)

lld-link: error: undefined symbol: struct llvm::SubtargetFeatureKV const *const llvm::RISCVFeatureKV
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual bool __cdecl `anonymous namespace'::RISCVAsmPrinter::runOnMachineFunction(class llvm::MachineFunction &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitStartOfAsmFile(class llvm::Module &))
>>> referenced by LLVMRISCVCodeGen.lib(RISCVSubtarget.cpp.obj):(public: __cdecl llvm::RISCVGenSubtargetInfo::RISCVGenSubtargetInfo(class llvm::Triple const &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef))
>>> referenced 1 more times

lld-link: error: undefined symbol: public: void __cdecl llvm::RISCVTargetStreamer::setTargetABI(enum llvm::RISCVABI::ABI)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitStartOfAsmFile(class llvm::Module &))

lld-link: error: undefined symbol: public: void __cdecl llvm::RISCVTargetStreamer::setFlagsFromFeatures(class llvm::MCSubtargetInfo const &)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitStartOfAsmFile(class llvm::Module &))

lld-link: error: undefined symbol: public: void __cdecl llvm::RISCVTargetStreamer::emitTargetAttributes(class llvm::MCSubtargetInfo const &, bool)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitStartOfAsmFile(class llvm::Module &))

lld-link: error: undefined symbol: public: void __cdecl llvm::RISCVTargetELFStreamer::emitNoteGnuPropertySection(unsigned int)
>>> referenced by LLVMRISCVCodeGen.lib(RISCVAsmPrinter.cpp.obj):(public: virtual void __cdecl `anonymous namespace'::RISCVAsmPrinter::emitEndOfAsmFile(class llvm::Module &))

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/180113


More information about the llvm-commits mailing list