[llvm] [RISCV][P-ext] Use pli.b when only the lower 2 bytes are used. (PR #192400)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 16 00:11:22 PDT 2026


github-actions[bot] wrote:

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

* 130018 tests passed
* 2696 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/toyc-ch6.exe</summary>

```
FAILED: [code=4294967295] bin/toyc-ch6.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\examples\toy\Ch6\CMakeFiles\toyc-ch6.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\toyc-ch6.rsp  /out:bin\toyc-ch6.exe /implib:lib\toyc-ch6.lib /pdb:bin\toyc-ch6.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\toyc-ch6.rsp /out:bin\toyc-ch6.exe /implib:lib\toyc-ch6.lib /pdb:bin\toyc-ch6.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::ASanAccessInfo::ASanAccessInfo(int)
>>> referenced by LLVMX86CodeGen.lib(X86MCInstLower.cpp.obj):(private: void __cdecl llvm::X86AsmPrinter::LowerASAN_CHECK_MEMACCESS(class llvm::MachineInstr const &))

lld-link: error: undefined symbol: void __cdecl llvm::getAddressSanitizerParams(class llvm::Triple const &, int, bool, unsigned __int64 *, int *, bool *)
>>> referenced by LLVMX86CodeGen.lib(X86MCInstLower.cpp.obj):(private: void __cdecl llvm::X86AsmPrinter::LowerASAN_CHECK_MEMACCESS(class llvm::MachineInstr const &))

lld-link: error: undefined symbol: public: __cdecl llvm::PGOInstrumentationUse::PGOInstrumentationUse(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, bool, class llvm::IntrusiveRefCntPtr<class llvm::vfs::FileSystem>)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(private: void __cdecl llvm::PassBuilder::addPGOInstrPasses(class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> &, class llvm::OptimizationLevel, bool, bool, bool, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>))
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: void __cdecl llvm::PassBuilder::addPGOInstrPassesForO0(class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> &, bool, bool, bool, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj):(private: class llvm::Error __cdecl llvm::PassBuilder::parseModulePass(class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> &, struct llvm::PassBuilder::PipelineElement const &))

lld-link: error: undefined symbol: public: static bool __cdecl llvm::PGOCtxProfLoweringPass::isCtxIRPGOInstrEnabled(void)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleSimplificationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleSimplificationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))

lld-link: error: undefined symbol: class llvm::cl::opt<bool, 0, class llvm::cl::parser<bool>> llvm::PGOInstrumentColdFunctionOnly
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleSimplificationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleSimplificationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))

lld-link: error: undefined symbol: public: __cdecl llvm::MemProfUsePass::MemProfUsePass(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>, class llvm::IntrusiveRefCntPtr<class llvm::vfs::FileSystem>)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleSimplificationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj):(public: <auto> __cdecl `private: class llvm::Error __cdecl llvm::PassBuilder::parseModulePass(class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> &, struct llvm::PassBuilder::PipelineElement const &)'::`1'::<lambda_114>::operator()(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>) const)

lld-link: error: undefined symbol: public: __cdecl llvm::ControlHeightReductionPass::ControlHeightReductionPass(void)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleOptimizationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj):(private: class llvm::Error __cdecl llvm::PassBuilder::parseModulePass(class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> &, struct llvm::PassBuilder::PipelineElement const &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj):(private: class llvm::Error __cdecl llvm::PassBuilder::parseCGSCCPass(class llvm::PassManager<class llvm::LazyCallGraph::SCC, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &>, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &> &, struct llvm::PassBuilder::PipelineElement const &))
>>> referenced 1 more times

lld-link: error: undefined symbol: public: __cdecl llvm::AllocTokenPass::AllocTokenPass(struct llvm::AllocTokenOptions)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildModuleOptimizationPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildO0DefaultPipeline(class llvm::OptimizationLevel, enum llvm::ThinOrFullLTOPhase))
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: class llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>> __cdecl llvm::PassBuilder::buildThinLTODefaultPipeline(class llvm::OptimizationLevel, class llvm::ModuleSummaryIndex const *))
>>> referenced 4 more times

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOMemOPSizeOpt::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Function, class llvm::PGOMemOPSizeOpt, class llvm::AnalysisManager<class llvm::Function>>::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOInstrumentationUse::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOInstrumentationUse, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOInstrumentationGen::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOInstrumentationGen, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::InstrProfilingLoweringPass::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::InstrProfilingLoweringPass, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOCtxProfFlatteningPass::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOCtxProfFlatteningPass, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOIndirectCallPromotion::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOIndirectCallPromotion, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::NoinlineNonPrevailing::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::NoinlineNonPrevailing, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOCtxProfLoweringPass::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOCtxProfLoweringPass, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOInstrumentationGenCreateVar::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::PGOInstrumentationGenCreateVar, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::MemProfUsePass::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, class llvm::MemProfUsePass, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::PGOForceFunctionAttrsPass::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Module, struct llvm::PGOForceFunctionAttrsPass, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

lld-link: error: undefined symbol: public: class llvm::PreservedAnalyses __cdecl llvm::ControlHeightReductionPass::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &)
>>> referenced by LLVMPasses.lib(PassBuilderPipelines.cpp.obj):(public: virtual class llvm::PreservedAnalyses __cdecl llvm::detail::PassModel<class llvm::Function, class llvm::ControlHeightReductionPass, class llvm::AnalysisManager<class llvm::Function>>::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &))
>>> referenced by LLVMPasses.lib(PassBuilder.cpp.obj)

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


More information about the llvm-commits mailing list