mikaelholmen wrote:

I noticed that
```test/Transforms/PhaseOrdering/AArch64/loopflatten.ll```
fails with EXPENSIVE_CHECKS with this patch:
```
 -> build-all-expensive/bin/llvm-lit -v 
test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
-- Testing: 1 tests, 1 workers --
FAIL: LLVM :: Transforms/PhaseOrdering/AArch64/loopflatten.ll (1 of 1)
******************** TEST 'LLVM :: 
Transforms/PhaseOrdering/AArch64/loopflatten.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
/repo/llvm/llvm/build-all-expensive/bin/opt -passes="default<O3>" 
-enable-loop-flatten -loop-flatten-cost-threshold=3 -S 
/repo/llvm/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll | 
/repo/llvm/llvm/build-all-expensive/bin/FileCheck 
/repo/llvm/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# executed command: /repo/llvm/llvm/build-all-expensive/bin/opt 
'-passes=default<O3>' -enable-loop-flatten -loop-flatten-cost-threshold=3 -S 
/repo/llvm/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# .---command stderr------------
# | opt: /repo/llvm/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: /repo/llvm/llvm/build-all-expensive/bin/opt 
-passes=default<O3> -enable-loop-flatten -loop-flatten-cost-threshold=3 -S 
/repo/llvm/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 
"/repo/llvm/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 
"/repo/llvm/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 0x0000559bda77159c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x567b59c)
# |  #1 0x0000559bda76e1a1 llvm::sys::RunSignalHandlers() 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x56781a1)
# |  #2 0x0000559bda772463 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# |  #3 0x00007fbab3a1a990 __restore_rt (/lib64/libpthread.so.0+0x12990)
# |  #4 0x00007fbab17c65af raise (/lib64/libc.so.6+0x4e5af)
# |  #5 0x00007fbab1799ee5 abort (/lib64/libc.so.6+0x21ee5)
# |  #6 0x00007fbab1799db9 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21db9)
# |  #7 0x00007fbab17bef06 (/lib64/libc.so.6+0x46f06)
# |  #8 0x0000559bdb1f8d78 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 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x6102d78)
# |  #9 0x0000559bdb1f6a59 
llvm::MemorySSA::verifyMemorySSA(llvm::MemorySSA::VerificationLevel) const 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x6100a59)
# | #10 0x0000559bdc525e9e llvm::LoopFlattenPass::run(llvm::LoopNest&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x742fe9e)
# | #11 0x0000559bdc004ced 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
# | #12 0x0000559bdc4ec0c6 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&) 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x73f60c6)
# | #13 0x0000559bdc4eb29c 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&) 
(/repo/llvm/llvm/build-all-expensive/bin/opt+0x73f529c)
# | #14 0x0000559bdc4eae54 llvm::PassManager<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) (/re
# | ...
# `---data was truncated (10240/17084) (change limit with -D output_limit=N)
# error: command failed with exit status: -6
# executed command: /repo/llvm/llvm/build-all-expensive/bin/FileCheck 
/repo/llvm/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /repo/llvm/llvm/build-all-expensive/bin/FileCheck 
/repo/llvm/llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
# `-----------------------------
# error: command failed with exit status: 2

--

********************
********************
Failed Tests (1):
  LLVM :: Transforms/PhaseOrdering/AArch64/loopflatten.ll


Testing Time: 1.94s

Total Discovered Tests: 1
  Failed: 1 (100.00%)
```

https://github.com/llvm/llvm-project/pull/219663
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to