[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:59:01 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-cmake-x86_64-avx512-win` running on `avx512-intel64-win` while building `llvm` at step 6 "ninja check 1".

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

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

```
Step 6 (ninja check 1) failure: stage 1 checked (failure)
******************** TEST 'LLVM :: Transforms/InstCombine/fsqrtdiv-transform.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
d:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\stage1\bin\opt.exe -S -passes='instcombine<no-verify-fixpoint>' < D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\test\Transforms\InstCombine\fsqrtdiv-transform.ll | d:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\stage1\bin\filecheck.exe D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\test\Transforms\InstCombine\fsqrtdiv-transform.ll
# executed command: 'd:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\stage1\bin\opt.exe' -S '-passes=instcombine<no-verify-fixpoint>'
# .---command stderr------------
# | Assertion failed: isa<FPMathOperator>(this) && "getting fast-math flag on invalid op", file D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\IR\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: d:\\buildbot\\llvm-worker\\clang-cmake-x86_64-avx512-win\\stage1\\bin\\opt.exe -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"
# | Exception Code: 0xC000001D
# |  #0 0x00007ff617e4279c HandleAbort D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\Support\Windows\Signals.inc:429:0
# |  #1 0x00007ffcea778e05 (C:\Windows\SYSTEM32\ucrtbased.dll+0xa8e05)
# |  #2 0x00007ffcea77ab29 (C:\Windows\SYSTEM32\ucrtbased.dll+0xaab29)
# |  #3 0x00007ffcea78094f (C:\Windows\SYSTEM32\ucrtbased.dll+0xb094f)
# |  #4 0x00007ffcea77e881 (C:\Windows\SYSTEM32\ucrtbased.dll+0xae881)
# |  #5 0x00007ffcea78158f (C:\Windows\SYSTEM32\ucrtbased.dll+0xb158f)
# |  #6 0x00007ff61707e650 llvm::Instruction::hasAllowReassoc(void) const D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\IR\Instruction.cpp:604:0
# |  #7 0x00007ff6176464ea llvm::InstCombinerImpl::visitFDiv(class llvm::BinaryOperator &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\Transforms\InstCombine\InstCombineMulDivRem.cpp:2126:0
# |  #8 0x00007ff6175b9091 llvm::InstVisitor<class llvm::InstCombinerImpl, class llvm::Instruction *>::visit(class llvm::Instruction &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\Instruction.def:155:0
# |  #9 0x00007ff6175a43b5 llvm::InstCombinerImpl::run(void) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\Transforms\InstCombine\InstructionCombining.cpp:5234:0
# | #10 0x00007ff6175a63f4 combineInstructionsOverFunction D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\Transforms\InstCombine\InstructionCombining.cpp:5551:0
# | #11 0x00007ff6175a5e69 llvm::InstCombinePass::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\Transforms\InstCombine\InstructionCombining.cpp:5614:0
# | #12 0x00007ff618220eb8 llvm::detail::PassModel<class llvm::Function, class llvm::InstCombinePass, class llvm::AnalysisManager<class llvm::Function>>::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #13 0x00007ff617048adb llvm::PassManager<class llvm::Function, class llvm::AnalysisManager<class llvm::Function>>::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\PassManagerImpl.h:85:0
# | #14 0x00007ff6155d2248 llvm::detail::PassModel<class llvm::Function, class llvm::PassManager<class llvm::Function, class llvm::AnalysisManager<class llvm::Function>>, class llvm::AnalysisManager<class llvm::Function>>::run(class llvm::Function &, class llvm::AnalysisManager<class llvm::Function> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #15 0x00007ff61704675d llvm::ModuleToFunctionPassAdaptor::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\lib\IR\PassManager.cpp:124:0
# | #16 0x00007ff6155d1c28 llvm::detail::PassModel<class llvm::Module, class llvm::ModuleToFunctionPassAdaptor, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #17 0x00007ff6170474db llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\include\llvm\IR\PassManagerImpl.h:85:0
# | #18 0x00007ff615232d27 llvm::runPassPipeline(class llvm::StringRef, class llvm::Module &, class llvm::TargetMachine *, class llvm::TargetLibraryInfoImpl *, class llvm::ToolOutputFile *, class llvm::ToolOutputFile *, class llvm::ToolOutputFile *, class llvm::StringRef, class llvm::ArrayRef<class llvm::PassPlugin>, class llvm::ArrayRef<class std::function<(class llvm::PassBuilder &)>>, enum llvm::opt_tool::OutputKind, enum llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\tools\opt\NewPMDriver.cpp:541:0
# | #19 0x00007ff6151fa83a optMain D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\tools\opt\optdriver.cpp:739:0
# | #20 0x00007ff6151f6d04 main D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\tools\opt\opt.cpp:25:0
# | #21 0x00007ff61a44a5e9 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79:0
# | #22 0x00007ff61a44a48e __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
# | #23 0x00007ff61a44a34e __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331:0
# | #24 0x00007ff61a44a67e mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17:0
# | #25 0x00007ffd11844cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #26 0x00007ffd1321edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'd:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\stage1\bin\filecheck.exe' 'D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\test\Transforms\InstCombine\fsqrtdiv-transform.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  d:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\stage1\bin\filecheck.exe D:\buildbot\llvm-worker\clang-cmake-x86_64-avx512-win\llvm\llvm\test\Transforms\InstCombine\fsqrtdiv-transform.ll
# `-----------------------------
...

```

</details>

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


More information about the llvm-commits mailing list