[llvm] [SPARC] Prevent RESTORE from sourcing from %o7 in call delay slots (PR #172593)

via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 31 23:56:53 PST 2025


koachan wrote:

> ```
> FAILED: [code=4294967295] bin/llvm-split.exe
> cmd.exe /C "cd . && C:\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe -E vs_link_exe --intdir=tools\llvm-split\CMakeFiles\llvm-split.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-split.rsp  /out:bin\llvm-split.exe /implib:lib\llvm-split.lib /pdb:bin\llvm-split.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-split.rsp /out:bin\llvm-split.exe /implib:lib\llvm-split.lib /pdb:bin\llvm-split.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: public: __cdecl llvm::remarks::RemarkStreamer::~RemarkStreamer(void)
> >>> referenced by LLVMCore.lib(LLVMContext.cpp.obj):(public: void __cdecl llvm::LLVMContext::setMainRemarkStreamer(class std::unique_ptr<class llvm::remarks::RemarkStreamer, struct std::default_delete<class llvm::remarks::RemarkStreamer>>))
> >>> referenced by LLVMCore.lib(LLVMContext.cpp.obj):(public: void __cdecl llvm::LLVMContext::setMainRemarkStreamer(class std::unique_ptr<class llvm::remarks::RemarkStreamer, struct std::default_delete<class llvm::remarks::RemarkStreamer>>))
> >>> referenced by LLVMCore.lib(LLVMContextImpl.cpp.obj):(public: __cdecl llvm::LLVMContextImpl::~LLVMContextImpl(void))
> >>> referenced 2 more times
> 
> lld-link: error: undefined symbol: public: bool __cdecl llvm::remarks::RemarkStreamer::matchesFilter(class llvm::StringRef)
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(public: void __cdecl llvm::LLVMRemarkStreamer::emit(class llvm::DiagnosticInfoOptimizationBase const &))
> 
> lld-link: error: undefined symbol: class llvm::Expected<enum llvm::remarks::Format> __cdecl llvm::remarks::parseFormat(class llvm::StringRef)
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Expected<class llvm::LLVMRemarkFileHandle> __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Error __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::raw_ostream &, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> 
> lld-link: error: undefined symbol: class llvm::Expected<class std::unique_ptr<struct llvm::remarks::RemarkSerializer, struct std::default_delete<struct llvm::remarks::RemarkSerializer>>> __cdecl llvm::remarks::createRemarkSerializer(enum llvm::remarks::Format, class llvm::raw_ostream &)
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Expected<class llvm::LLVMRemarkFileHandle> __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Error __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::raw_ostream &, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> 
> lld-link: error: undefined symbol: public: __cdecl llvm::remarks::RemarkStreamer::RemarkStreamer(class std::unique_ptr<struct llvm::remarks::RemarkSerializer, struct std::default_delete<struct llvm::remarks::RemarkSerializer>>, class std::optional<class llvm::StringRef>)
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Expected<class llvm::LLVMRemarkFileHandle> __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Error __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::raw_ostream &, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> 
> lld-link: error: undefined symbol: public: class llvm::Error __cdecl llvm::remarks::RemarkStreamer::setFilter(class llvm::StringRef)
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Expected<class llvm::LLVMRemarkFileHandle> __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::StringRef, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> >>> referenced by LLVMCore.lib(LLVMRemarkStreamer.cpp.obj):(class llvm::Error __cdecl llvm::setupLLVMOptimizationRemarks(class llvm::LLVMContext &, class llvm::raw_ostream &, class llvm::StringRef, class llvm::StringRef, bool, class std::optional<unsigned __int64>))
> 
> lld-link: error: undefined symbol: public: bool __cdecl llvm::remarks::RemarkStreamer::needsSection(void) const
> >>> referenced by LLVMAsmPrinter.lib(AsmPrinter.cpp.obj):(public: void __cdecl llvm::AsmPrinter::emitRemarksSection(class llvm::remarks::RemarkStreamer &))
> ```

This seems to be a link failure? Though it's on an unrelated file?

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


More information about the llvm-commits mailing list