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
