[llvm] [InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL (PR #87474)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 21:44:22 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-aarch64-darwin` running on `doug-worker-4` while building `llvm` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/12997

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/InstCombine/fsqrtdiv-transform.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt -S -passes='instcombine<no-verify-fixpoint>' < /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll | /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
+ /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt -S '-passes=instcombine<no-verify-fixpoint>'
+ /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
Assertion failed: (isa<FPMathOperator>(this) && "getting fast-math flag on invalid op"), function hasAllowReassoc, file Instruction.cpp, line 603.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt -S -passes=instcombine<no-verify-fixpoint>
1.	Running pass "function(instcombine<max-iterations=1;no-verify-fixpoint>)" on module "<stdin>"
2.	Running pass "instcombine<max-iterations=1;no-verify-fixpoint>" on function "bb_constraint_case1"
 #0 0x00000001065db9c4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x10174b9c4)
 #1 0x00000001065d9a48 llvm::sys::RunSignalHandlers() (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x101749a48)
 #2 0x00000001065dc1c4 SignalHandler(int) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x10174c1c4)
 #3 0x0000000181b46584 (/usr/lib/system/libsystem_platform.dylib+0x18047a584)
 #4 0x0000000181b15c20 (/usr/lib/system/libsystem_pthread.dylib+0x180449c20)
 #5 0x0000000181a22a30 (/usr/lib/system/libsystem_c.dylib+0x180356a30)
 #6 0x0000000181a21d20 (/usr/lib/system/libsystem_c.dylib+0x180355d20)
 #7 0x00000001075385e0 llvm::Instruction::hasAllowReassoc() const (.cold.3) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x1026a85e0)
 #8 0x0000000105c52a74 llvm::Instruction::hasAllowReassoc() const (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x100dc2a74)
 #9 0x0000000106097228 llvm::InstCombinerImpl::visitFDiv(llvm::BinaryOperator&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x101207228)
#10 0x0000000105ffb508 llvm::InstCombinerImpl::run() (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x10116b508)
#11 0x0000000105ffe4c8 combineInstructionsOverFunction(llvm::Function&, llvm::InstructionWorklist&, llvm::AAResults*, llvm::AssumptionCache&, llvm::TargetLibraryInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::OptimizationRemarkEmitter&, llvm::BlockFrequencyInfo*, llvm::BranchProbabilityInfo*, llvm::ProfileSummaryInfo*, llvm::InstCombineOptions const&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x10116e4c8)
#12 0x0000000105ffdb00 llvm::InstCombinePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x10116db00)
#13 0x0000000105cc0344 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x100e30344)
#14 0x0000000105cc4708 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x100e34708)
#15 0x0000000105cbf594 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x100e2f594)
#16 0x0000000106a6cff4 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::__1::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x101bdcff4)
#17 0x0000000106a78058 optMain (/Users/buildbot/buildbot-root/aarch64-darwin/build/bin/opt+0x101be8058)
#18 0x000000018178b154 
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll

--

********************


```

</details>

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


More information about the llvm-commits mailing list