[clang] [llvm] [ConstraintElim] Add NUW for mul/shl with NSW and non-positive ops. (PR #219663)
LLVM Continuous Integration via cfe-commits
cfe-commits at lists.llvm.org
Sun Aug 30 08:23:19 PDT 2026
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-ubuntu` running on `as-builder-4` while building `clang,llvm` at step 7 "test-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/187/builds/23178
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 7 (test-check-all) failure: Test just built components: check-all completed (failure)
******************** TEST 'LLVM :: Transforms/PhaseOrdering/AArch64/loopflatten.ll' FAILED ********************
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/worker/expensive-checks/build/bin/opt -passes="default<O3>" -enable-loop-flatten -loop-flatten-cost-threshold=3 -S /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll | /home/buildbot/worker/expensive-checks/build/bin/FileCheck /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# executed command: /home/buildbot/worker/expensive-checks/build/bin/opt '-passes=default<O3>' -enable-loop-flatten -loop-flatten-cost-threshold=3 -S /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# .---command stderr------------
# | opt: /home/buildbot/worker/expensive-checks/llvm-project/llvm/lib/Analysis/MemorySSA.cpp:2051: void llvm::MemorySSA::verifyOrderingDominationAndDefUses(IterT, VerificationLevel) const [IterT = llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void, false, void>, false, false>>]: Assertion `is_contained(predecessors(&B), Phi->getIncomingBlock(I)) && "Incoming phi block not a block predecessor"' 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/buildbot/worker/expensive-checks/build/bin/opt -passes=default<O3> -enable-loop-flatten -loop-flatten-cost-threshold=3 -S /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# | 1. Running pass "require<globals-aa>,function(invalidate<aa>),require<profile-summary>,cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,jump-table-to-switch,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto;no-check-exit-count>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>,loop-flatten),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-idiom-vectorize,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,dfa-jump-threading,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split,coro-annotation-elide)),function(invalidate<should-not-run-function-passes>),cgscc(devirt<4>())" on module "/home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll"
# | 2. Running pass "cgscc(devirt<4>(inline,function-attrs<skip-non-recursive-function-attrs>,argpromotion,openmp-opt-cgscc,function<eager-inv;no-rerun>(sroa<modify-cfg>,early-cse<memssa>,speculative-execution<only-if-divergent-target>,jump-threading,correlated-propagation,jump-table-to-switch,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,aggressive-instcombine,libcalls-shrinkwrap,tailcallelim,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,reassociate,constraint-elimination,loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto;no-check-exit-count>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>,loop-flatten),simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-arithmetic;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;no-sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>,loop(loop-idiom,indvars,extra-simple-loop-unswitch-passes,loop-idiom-vectorize,loop-deletion,loop-unroll-full),sroa<modify-cfg>,vector-combine,mldst-motion<no-split-footer-bb>,gvn<>,sccp,bdce,instcombine<max-iterations=1;no-verify-fixpoint>,dfa-jump-threading,jump-threading,correlated-propagation,adce,memcpyopt,dse,move-auto-init,loop-mssa(licm<allowspeculation>),coro-elide,simplifycfg<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;switch-to-arithmetic;no-switch-to-lookup;keep-loops;hoist-common-insts;no-hoist-loads-stores-with-cond-faulting;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,instcombine<max-iterations=1;no-verify-fixpoint>),function-attrs,function(require<should-not-run-function-passes>),coro-split,coro-annotation-elide))" on module "/home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll"
# | 3. Running pass "loop-mssa(loop-instsimplify,loop-simplifycfg,licm<no-allowspeculation>,loop-rotate<header-duplication;no-prepare-for-lto;no-check-exit-count>,licm<allowspeculation>,simple-loop-unswitch<nontrivial;trivial>,loop-flatten)" on function "foo_64_bit_iv"
# | #0 0x00005c8aca0be02b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbot/worker/expensive-checks/build/bin/opt+0x4eed02b)
# | #1 0x00005c8aca0badd1 llvm::sys::RunSignalHandlers() (/home/buildbot/worker/expensive-checks/build/bin/opt+0x4ee9dd1)
# | #2 0x00005c8aca0beedb SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# | #3 0x000076f2c2caa330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x000076f2c2d03b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x000076f2c2caa27e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x000076f2c2c8d8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x000076f2c2c8d81b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# | #8 0x000076f2c2ca0517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# | #9 0x00005c8acaa070d2 void llvm::MemorySSA::verifyOrderingDominationAndDefUses<llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void, false, void>, false, false>>>(llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, true, false, void, false, void>, false, false>>, llvm::MemorySSA::VerificationLevel) const (/home/buildbot/worker/expensive-checks/build/bin/opt+0x58360d2)
# | #10 0x00005c8acaa04ea8 llvm::MemorySSA::verifyMemorySSA(llvm::MemorySSA::VerificationLevel) const (/home/buildbot/worker/expensive-checks/build/bin/opt+0x5833ea8)
# | #11 0x00005c8acba73ebb llvm::LoopFlattenPass::run(llvm::LoopNest&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (/home/buildbot/worker/expensive-checks/build/bin/opt+0x68a2ebb)
# | #12 0x00005c8acb639d8d llvm::detail::PassModel<llvm::LoopNest, llvm::LoopFlattenPass, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runImpl(llvm::detail::PassConcept<llvm::LoopNest, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::LoopNest&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) PassBuilderPipelines.cpp:0:0
# | #13 0x00005c8acba3e79b std::optional<llvm::PreservedAnalyses> llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runSinglePass<llvm::LoopNest, std::unique_ptr<llvm::detail::PassConcept<llvm::LoopNest, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, llvm::detail::PassConcept<llvm::LoopNest, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::Deleter>>(llvm::LoopNest&, std::unique_ptr<llvm::detail::PassConcept<llvm::LoopNest, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, llvm::detail::PassConcept<llvm::LoopNest, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::Deleter>&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&, llvm::PassInstrumentation&) (/home/buildbot/worker/expensive-checks/build/bin/opt+0x686d79b)
# | #14 0x00005c8acba3db58 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::runWithLoopNestPasses(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (/home/buildbot/worker/expensive-checks/build/bin/opt+0x686cb58)
# | #15 0x00005c8acba3d730 llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, l
# | ...
# `---data was truncated (10240/17253) (change limit with -D output_limit=N)
# error: command failed with exit status: -6
# executed command: /home/buildbot/worker/expensive-checks/build/bin/FileCheck /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: /home/buildbot/worker/expensive-checks/build/bin/FileCheck /home/buildbot/worker/expensive-checks/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# `-----------------------------
# error: command failed with exit status: 2
--
********************
```
</details>
https://github.com/llvm/llvm-project/pull/219663
More information about the cfe-commits
mailing list