[llvm-branch-commits] [llvm] InstCombine: Handle fsub in SimplifyDemandedFPClass (PR #175852)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Jan 13 14:28:50 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 168042 tests passed
* 2992 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.Transforms/Attributor/nofpclass.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -use-constant-fp-for-scalable-splat=false -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/Attributor/nofpclass.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/Attributor/nofpclass.ll --check-prefixes=CHECK,CHECK-CV,TUNIT,TUNIT-CV
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -use-constant-fp-for-scalable-splat=false -S
# .---command stderr------------
# | opt: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/ValueTracking.cpp:4960: void computeKnownFPClass(const Value *, const APInt &, FPClassTest, KnownFPClass &, const SimplifyQuery &, unsigned int): Assertion `Known.isUnknown() && "should not be called with known information"' failed.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -use-constant-fp-for-scalable-splat=false -S
# | 1.	Running pass "attributor" on module "<stdin>"
# |  #0 0x00000000050611b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:842:13
# |  #1 0x000000000505e7d5 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000005062271 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:429:38
# |  #3 0x00007ad6c5306330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007ad6c535fb2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007ad6c530627e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007ad6c52e98ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00007ad6c52e981b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x00007ad6c52fc517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x0000000005788fb3 computeKnownFPClass(llvm::Value const*, llvm::APInt const&, llvm::FPClassTest, llvm::KnownFPClass&, llvm::SimplifyQuery const&, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/ValueTracking.cpp:0:0
# | #10 0x0000000005787907 computeKnownFPClass(llvm::Value const*, llvm::APInt const&, llvm::FPClassTest, llvm::KnownFPClass&, llvm::SimplifyQuery const&, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/ValueTracking.cpp:0:9
# | #11 0x000000000578c762 isSingleWord /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/APInt.h:323:47
# | #12 0x000000000578c762 needsCleanup /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/APInt.h:1941:39
# | #13 0x000000000578c762 ~APInt /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/APInt.h:192:9
# | #14 0x000000000578c762 computeKnownFPClass(llvm::Value const*, llvm::KnownFPClass&, llvm::FPClassTest, llvm::SimplifyQuery const&, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/ValueTracking.cpp:4912:1
# | #15 0x000000000578ce8f llvm::computeKnownFPClass(llvm::Value const*, llvm::FPClassTest, llvm::SimplifyQuery const&, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Analysis/ValueTracking.cpp:6029:3
# | #16 0x0000000006a2bdab Underlying<llvm::FPClassTest> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h:137:3
# | #17 0x0000000006a2bdab operator~<llvm::FPClassTest, void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/BitmaskEnum.h:153:26
# | #18 0x0000000006a2bdab (anonymous namespace)::AANoFPClassImpl::initialize(llvm::Attributor&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:10511:20
# | #19 0x00000000069dd0b1 llvm::AANoFPClass const* llvm::Attributor::getOrCreateAAFor<llvm::AANoFPClass>(llvm::IRPosition, llvm::AbstractAttribute const*, llvm::DepClassTy, bool, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Transforms/IPO/Attributor.h:1633:7
# | #20 0x0000000006a2daa7 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:388:10
# | #21 0x0000000006a2daa7 bool llvm::function_ref<bool (llvm::Value&)>::callback_fn<void clampReturnedValueStates<llvm::AANoFPClass, llvm::BitIntegerState<unsigned int, 1023u, 0u>, (llvm::Attribute::AttrKind)0, false>(llvm::Attributor&, llvm::AANoFPClass const&, llvm::BitIntegerState<unsigned int, 1023u, 0u>&, llvm::CallBase const*)::'lambda'(llvm::Value&)>(long, llvm::Value&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #22 0x00000000069af978 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
# | #23 0x00000000069af978 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2018:12
# | #24 0x00000000069af978 operator()<llvm::AA::ValueAndContext *> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/predefined_ops.h:395:17
# | #25 0x00000000069af978 __find_if<llvm::AA::ValueAndContext *, __gnu_cxx::__ops::_Iter_negate<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:31)> > /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_algobase.h:2102:8
# | #26 0x00000000069af978 __find_if_not<llvm::AA::ValueAndContext *, __gnu_cxx::__ops::_Iter_pred<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:31)> > /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_algo.h:112:14
# | #27 0x00000000069af978 find_if_not<llvm::AA::ValueAndContext *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:31)> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_algo.h:519:14
# | #28 0x00000000069af978 all_of<llvm::AA::ValueAndContext *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:31)> /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_algo.h:459:24
# | #29 0x00000000069af978 all_of<llvm::SmallVector<llvm::AA::ValueAndContext, 3U> &, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:31)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:1738:10
# | #30 0x00000000069af978 llvm::Attributor::checkForAllReturnedValues(llvm::function_ref<bool (llvm::Value&)>, llvm::AbstractAttribute const&, llvm::AA::ValueScope, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2017:10
# | #31 0x0000000006a2d899 clampReturnedValueStates<llvm::AANoFPClass, llvm::BitIntegerState<unsigned int, 1023U, 0U>, (llvm::Attribute::AttrKind)0, false> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:401:7
# | #32 0x0000000006a2d899 (anonymous namespace)::AAReturnedFromReturnedValues<llvm::AANoFPClass, (anonymous namespace)::AANoFPClassImpl, llvm::BitIntegerState<unsigned int, 1023u, 0u>, false, (llvm::Attribute::AttrKind)0, false>::updateImpl(llvm::Attributor&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:423:5
# | #33 0x00000000069a7b67 llvm::AbstractAttribute::update(llvm::Attributor&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:1070:3
# | #34 0x00000000069b2a9c llvm::Attributor::updateAA(llvm::AbstractAttribute&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:2696:13
# | #35 0x00000000069dd0f0 llvm::AANoFPClass const* llvm::Attributor::getOrCreateAAFor<llvm::AANoFPClass>(llvm::IRPosition, llvm::AbstractAttribute const*, llvm::DepClassTy, bool, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Transforms/IPO/Attributor.h:1649:13
# | #36 0x00000000069bb85c CheckLazyArguments /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:139:9
# | #37 0x00000000069bb85c arg_begin /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:867:5
# | #38 0x00000000069bb85c args /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Function.h:891:23
# | #39 0x00000000069bb85c llvm::Attributor::identifyDefaultAbstractAttributes(llvm::Function&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:3461:26
# | #40 0x00000000069bf550 runAttributorOnFunctions(llvm::InformationCache&, llvm::SetVector<llvm::Function*, llvm::SmallVector<llvm::Function*, 0u>, llvm::DenseSet<llvm::Function*, llvm::DenseMapInfo<llvm::Function*, void>>, 0u>&, llvm::AnalysisGetter&, llvm::CallGraphUpdater&, bool, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:3878:20
# | #41 0x00000000069be841 llvm::AttributorPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Transforms/IPO/Attributor.cpp:4031:7
# | #42 0x00000000065728ed llvm::detail::PassModel<llvm::Module, llvm::AttributorPass, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:5
# | #43 0x0000000005278d67 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/PassManagerImpl.h:80:8
# | #44 0x00000000064f91e2 ~SmallPtrSetImplBase /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:89:9
# | #45 0x00000000064f91e2 ~PreservedAnalyses /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/Analysis.h:112:7
# | #46 0x00000000064f91e2 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/opt/NewPMDriver.cpp:574:3
# | #47 0x000000000500166d optMain /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/opt/optdriver.cpp:0:10
# | #48 0x00007ad6c52eb1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #49 0x00007ad6c52eb28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #50 0x0000000004ffa965 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt+0x4ffa965)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/Attributor/nofpclass.ll --check-prefixes=CHECK,CHECK-CV,TUNIT,TUNIT-CV
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --allow-unused-prefixes /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/Attributor/nofpclass.ll --check-prefixes=CHECK,CHECK-CV,TUNIT,TUNIT-CV
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/175852


More information about the llvm-branch-commits mailing list