[llvm] [Support] Assert that DomTree nodes share parent (PR #101198)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 10 10:00:59 PDT 2024
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `mlir-nvidia-gcc7` running on `mlir-nvidia` while building `llvm` at step 6 "test-build-check-mlir-build-only-check-mlir".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/116/builds/2238
Here is the relevant piece of the build log for the reference:
```
Step 6 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir' FAILED ********************
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir -convert-linalg-to-loops -convert-scf-to-cf -expand-strided-metadata -lower-affine -convert-arith-to-llvm -finalize-memref-to-llvm -convert-func-to-llvm -reconcile-unrealized-casts | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-cpu-runner -O3 -e main -entry-point-result=void -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_runner_utils.so | /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/FileCheck /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-opt /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/mlir/test/Integration/Dialect/Linalg/CPU/rank-reducing-subview.mlir -convert-linalg-to-loops -convert-scf-to-cf -expand-strided-metadata -lower-affine -convert-arith-to-llvm -finalize-memref-to-llvm -convert-func-to-llvm -reconcile-unrealized-casts
# executed command: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-cpu-runner -O3 -e main -entry-point-result=void -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_runner_utils.so
# .---command stderr------------
# | mlir-cpu-runner: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.src/llvm/include/llvm/Support/GenericDomTree.h:401: llvm::DomTreeNodeBase<NodeT>* llvm::DominatorTreeBase<NodeT, IsPostDom>::getNode(const NodeT*) const [with NodeT = llvm::BasicBlock; bool IsPostDom = false]: Assertion `(!BB || Parent == NodeTrait::getParent(const_cast<NodeT *>(BB))) && "cannot get DomTreeNode of block with different parent"' failed.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
# | Stack dump:
# | 0. Program arguments: /vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/bin/mlir-cpu-runner -O3 -e main -entry-point-result=void -shared-libs=/vol/worker/mlir-nvidia/mlir-nvidia-gcc7/llvm.obj/lib/libmlir_runner_utils.so
# | 1. Running pass "function<eager-inv>(Float2IntPass,LowerConstantIntrinsicsPass,ControlHeightReductionPass,loop(LoopRotatePass<header-duplication;no-prepare-for-lto>,LoopDeletionPass),LoopDistributePass,InjectTLIMappings,LoopVectorizePass<no-interleave-forced-only;no-vectorize-forced-only;>,InferAlignmentPass,LoopLoadEliminationPass,InstCombinePass<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,SimplifyCFGPass<bonus-inst-threshold=1;forward-switch-cond;switch-range-to-icmp;switch-to-lookup;no-keep-loops;hoist-common-insts;sink-common-insts;speculate-blocks;simplify-cond-branch;no-speculate-unpredictables>,SLPVectorizerPass,VectorCombinePass,InstCombinePass<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,LoopUnrollPass<O3>,WarnMissedTransformationsPass,SROAPass<preserve-cfg>,InferAlignmentPass,InstCombinePass<max-iterations=1;no-use-loop-info;no-verify-fixpoint>,loop-mssa(LICMPass<allowspeculation>),AlignmentFromAssumptionsPass,LoopSinkPass,InstSimplifyPass,DivRemPairsPass,TailCallElimPass,SimplifyCFGPass<bonus-inst-threshold=1;no-forward-switch-cond;switch-range-to-icmp;no-switch-to-lookup;keep-loops;no-hoist-common-insts;no-sink-common-insts;speculate-blocks;simplify-cond-branch;speculate-unpredictables>)" on module "LLVMDialectModule"
# | 2. Running pass "SLPVectorizerPass" on function "main"
# | Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
# | 0 mlir-cpu-runner 0x00005a26fcbd68ab llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 59
# | 1 mlir-cpu-runner 0x00005a26fcbd3cbc
# | 2 libc.so.6 0x00007c1125a8c520
# | 3 libc.so.6 0x00007c1125ae09fc pthread_kill + 300
# | 4 libc.so.6 0x00007c1125a8c476 raise + 22
# | 5 libc.so.6 0x00007c1125a727f3 abort + 211
# | 6 libc.so.6 0x00007c1125a7271b
# | 7 libc.so.6 0x00007c1125a83e96
# | 8 mlir-cpu-runner 0x00005a26fd0fc7a8 llvm::DominatorTreeBase<llvm::BasicBlock, false>::getNode(llvm::BasicBlock const*) const + 152
# | 9 mlir-cpu-runner 0x00005a2700223b0d llvm::ScalarEvolution::getOperandsToCreate(llvm::Value*, llvm::SmallVectorImpl<llvm::Value*>&) + 253
# | 10 mlir-cpu-runner 0x00005a2700258ddf llvm::ScalarEvolution::createSCEVIter(llvm::Value*) + 383
# | 11 mlir-cpu-runner 0x00005a270012a963 llvm::getPointersDiff(llvm::Type*, llvm::Value*, llvm::Type*, llvm::Value*, llvm::DataLayout const&, llvm::ScalarEvolution&, bool, bool) + 387
# | 12 mlir-cpu-runner 0x00005a26fea13925 llvm::slpvectorizer::BoUpSLP::canFormVector(llvm::ArrayRef<llvm::StoreInst*>, llvm::SmallVector<unsigned int, 4u>&) const + 437
# | 13 mlir-cpu-runner 0x00005a26fea13fbc llvm::slpvectorizer::BoUpSLP::findExternalStoreUsersReorderIndices(llvm::slpvectorizer::BoUpSLP::TreeEntry*) const + 508
# | 14 mlir-cpu-runner 0x00005a26fea30312
# | 15 mlir-cpu-runner 0x00005a26fea43f5d llvm::slpvectorizer::BoUpSLP::reorderTopToBottom() + 461
# | 16 mlir-cpu-runner 0x00005a26fea6f790 llvm::SLPVectorizerPass::vectorizeStoreChain(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, unsigned int, unsigned int, unsigned int&) + 1488
# | 17 mlir-cpu-runner 0x00005a26fea70ea6
# | 18 mlir-cpu-runner 0x00005a26fea72cef llvm::SLPVectorizerPass::vectorizeStores(llvm::ArrayRef<llvm::StoreInst*>, llvm::slpvectorizer::BoUpSLP&, llvm::DenseSet<std::tuple<llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, unsigned int>, llvm::DenseMapInfo<std::tuple<llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, unsigned int>, void>>&) + 2367
# | 19 mlir-cpu-runner 0x00005a26fea735cf llvm::SLPVectorizerPass::vectorizeStoreChains(llvm::slpvectorizer::BoUpSLP&) + 1247
# | 20 mlir-cpu-runner 0x00005a26fea74a41
# | 21 mlir-cpu-runner 0x00005a26fea75357 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 951
# | 22 mlir-cpu-runner 0x00005a26fdde2181
# | 23 mlir-cpu-runner 0x00005a26fcd7b7db llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) + 1115
# | 24 mlir-cpu-runner 0x00005a26fd136061
# | 25 mlir-cpu-runner 0x00005a26fcd7af49 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 409
# | 26 mlir-cpu-runner 0x00005a26fd1367b1
# | 27 mlir-cpu-runner 0x00005a26fcd7992c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1132
# | 28 mlir-cpu-runner 0x00005a26fddd39e2
# | 29 mlir-cpu-runner 0x00005a26fddd43f0
# | 30 mlir-cpu-runner 0x00005a26fd3949f9
# | 31 mlir-cpu-runner 0x00005a26fd3a43e6 mlir::ExecutionEngine::create(mlir::Operation*, mlir::ExecutionEngineOptions const&, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>) + 4998
# | 32 mlir-cpu-runner 0x00005a26fd396cfc
...
```
https://github.com/llvm/llvm-project/pull/101198
More information about the llvm-commits
mailing list