Issue |
131291
|
Summary |
[MLIR] `-test-memref-dependence-check` triggers Assertion `space.isUsingIds() && other.space.isUsingIds() && "both relations need to have identifers to merge and align"' failed.
|
Labels |
|
Assignees |
|
Reporter |
Lambor24
|
Test on commit: [6b7daf2](https://github.com/llvm/llvm-project/commit/6b7daf224933d60a7ef8acc399da8388b90bf318).
steps to reproduce:
```
mlir-opt test.mlir -test-memref-dependence-check
```
test case:
```
module {
func.func @main() {
%c25_i64 = arith.constant 25 : i64
%alloc = memref.alloc() {alignment = 64 : i64} : memref<i64>
affine.store %c25_i64, %alloc[] : memref<i64>
return
}
}
```
crash trace:
```
mlir-opt: /home/projects/project/llvm-project/mlir/lib/Analysis/Presburger/IntegerRelation.cpp:1311: void mlir::presburger::IntegerRelation::mergeAndAlignSymbols(IntegerRelation &): Assertion `space.isUsingIds() && other.space.isUsingIds() && "both relations need to have identifers to merge and align"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/projects/project/llvm-project/build/bin/mlir-opt /home/test.mlir -test-memref-dependence-check
#0 0x0000652c5677daad llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/projects/project/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
#1 0x0000652c5677df9b PrintStackTraceSignalHandler(void*) /home/projects/project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:1
#2 0x0000652c5677c006 llvm::sys::RunSignalHandlers() /home/projects/project/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x0000652c5677e77d SignalHandler(int, siginfo_t*, void*) /home/projects/project/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:7
#4 0x000071b626e0a520 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x000071b626e5e9fc pthread_kill (/usr/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#6 0x000071b626e0a476 gsignal (/usr/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#7 0x000071b626df07f3 abort (/usr/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#8 0x000071b626df071b (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#9 0x000071b626e01e96 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x0000652c613321d8 mlir::presburger::IntegerRelation::mergeAndAlignSymbols(mlir::presburger::IntegerRelation&) /home/projects/project/llvm-project/mlir/lib/Analysis/Presburger/IntegerRelation.cpp:0:3
#11 0x0000652c5bd5e7d0 mlir::affine::MemRefAccess::getAccessRelation(mlir::presburger::IntegerRelation&) const /home/projects/project/llvm-project/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp:496:28
#12 0x0000652c5bd5d865 mlir::affine::checkMemrefAccessDependence(mlir::affine::MemRefAccess const&, mlir::affine::MemRefAccess const&, unsigned int, mlir::affine::FlatAffineValueConstraints*, llvm::SmallVector<mlir::affine::DependenceComponent, 2u>*, bool) /home/projects/project/llvm-project/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp:638:24
#13 0x0000652c5c251f80 checkDependences(llvm::ArrayRef<mlir::Operation*>) /home/projects/project/llvm-project/mlir/test/lib/Analysis/TestMemRefDependenceCheck.cpp:86:35
#14 0x0000652c5c251cbe (anonymous namespace)::TestMemRefDependenceCheck::runOnOperation() /home/projects/project/llvm-project/mlir/test/lib/Analysis/TestMemRefDependenceCheck.cpp:117:1
#15 0x0000652c5bdfcd6b mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_1::operator()() const /home/projects/project/llvm-project/mlir/lib/Pass/Pass.cpp:0:17
#16 0x0000652c5bdfcd05 void llvm::function_ref<void ()>::callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_1>(long) /home/projects/project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:5
#17 0x0000652c567a3e09 llvm::function_ref<void ()>::operator()() const /home/projects/project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:5
#18 0x0000652c5be00965 void mlir::MLIRContext::executeAction<mlir::PassExecutionAction, mlir::Pass&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pass&) /home/projects/project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:289:3
#19 0x0000652c5bdf85da mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/projects/project/llvm-project/mlir/lib/Pass/Pass.cpp:532:17
#20 0x0000652c5bdf8b64 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/projects/project/llvm-project/mlir/lib/Pass/Pass.cpp:592:16
#21 0x0000652c5bdfa5c8 mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) /home/projects/project/llvm-project/mlir/lib/Pass/Pass.cpp:905:10
#22 0x0000652c5bdfa4f2 mlir::PassManager::run(mlir::Operation*) /home/projects/project/llvm-project/mlir/lib/Pass/Pass.cpp:885:60
#23 0x0000652c5bdeb54a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:474:17
#24 0x0000652c5bdeb10c processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPoolInterface*) /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:542:12
#25 0x0000652c5bdeaebc mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:625:12
#26 0x0000652c5bdeae56 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) /home/projects/project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
#27 0x0000652c5bf7abb2 llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const /home/projects/project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
#28 0x0000652c5bf7a19c mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/projects/project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:27:12
#29 0x0000652c5bde72c8 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:628:10
#30 0x0000652c5bde7689 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:669:14
#31 0x0000652c5bde7858 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/projects/project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:685:10
#32 0x0000652c566eea1c main /home/projects/project/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:331:33
#33 0x000071b626df1d90 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#34 0x000071b626df1e40 __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#35 0x0000652c566ee615 _start (/home/projects/project/llvm-project/build/bin/mlir-opt+0x29ee615)
Aborted (core dumped)
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs