<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/118450>118450</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] -remove-dead-values crashes
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Emilyaxe
</td>
</tr>
</table>
<pre>
git version: 0a44b24
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt -remove-dead-values a.mlir`
a.mlir:
```
#map = affine_map<(d0, d1, d2) -> (0, d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
func.func @main() {
%cst_3 = arith.constant dense<54> : tensor<1x25x13xi32>
%cst_7 = arith.constant dense<11> : tensor<1x25x13xi32>
%0 = tensor.empty() : tensor<1x25x13xi32>
%1 = linalg.generic {indexing_maps = [#map, #map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%cst_3, %cst_7 : tensor<1x25x13xi32>, tensor<1x25x13xi32>) outs(%0 : tensor<1x25x13xi32>) {
^bb0(%in: i32, %in_15: i32, %out: i32):
%29 = arith.xori %in, %in_15 : i32
linalg.yield %29 : i32
} -> tensor<1x25x13xi32>
return
}
}
```
stack trace:
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt a.mlir --remove-dead-values
#0 0x000055a68404ef88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1185f88)
#1 0x000055a68404ca9e llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1183a9e)
#2 0x000055a68404f91d SignalHandler(int) Signals.cpp:0:0
#3 0x00007fb753225420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x000055a684907114 getGenericEffectsImpl(llvm::SmallVectorImpl<mlir::SideEffects::EffectInstance<mlir::MemoryEffects::Effect>>&, mlir::linalg::LinalgOp) LinalgOps.cpp:0:0
#5 0x000055a684bc0138 mlir::detail::MemoryEffectOpInterfaceInterfaceTraits::Model<mlir::linalg::GenericOp>::getEffects(mlir::detail::MemoryEffectOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, llvm::SmallVectorImpl<mlir::SideEffects::EffectInstance<mlir::MemoryEffects::Effect>>&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1cf7138)
#6 0x000055a68a03df17 mlir::isMemoryEffectFree(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x7174f17)
#7 0x000055a6874be44a void llvm::function_ref<void (mlir::Operation*)>::callback_fn<(anonymous namespace)::RemoveDeadValues::runOnOperation()::$_1>(long, mlir::Operation*) RemoveDeadValues.cpp:0:0
#8 0x000055a684164cee void mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x129bcee)
#9 0x000055a684164cee void mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x129bcee)
#10 0x000055a6874be042 (anonymous namespace)::RemoveDeadValues::runOnOperation() RemoveDeadValues.cpp:0:0
#11 0x000055a687489936 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45c0936)
#12 0x000055a68748a260 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45c1260)
#13 0x000055a68748c832 mlir::PassManager::run(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45c3832)
#14 0x000055a6874850da performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#15 0x000055a687484d2d 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&) MlirOptMain.cpp:0:0
#16 0x000055a687530fa5 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) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4667fa5)
#17 0x000055a68747ed15 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45b5d15)
#18 0x000055a68747efbf mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45b5fbf)
#19 0x000055a68747f2ee mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45b62ee)
#20 0x000055a68402fa77 main (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1166a77)
#21 0x00007fb752843083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#22 0x000055a68402f5ee _start (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11665ee)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWd1u47oRfhrmhohBkfq98IU3idsACRLsbk8vDUoaKexSlEpSWadPX5CSbVlxkj2n625bFEhsiRwOv_lmOBya3BhRK4Alij6h6PqC9_ap1cubRsgXvoWLvC1flrWw-Bm0Ea1CbIUJD8OchoisEFmZF2Ohcc0oJn_Je2V7HKQLEi5ifPf1C4rJIKeh023ZF4C_C_s0yjdS6Mu2s_hSQ9M-w2UJvLx85rIHg_nCde8VILIaW9gKY9cQk-HPv1DW8A4jdo15VQkFm4Z3iF0hmpYE0StcBv6TIprhS8RuMKLpvAOxm72q4HfqetUzKGvaspeAUfIJkRXGVa-KhfvAKCQNFwrR1GnZ9WOMaFQYu2HD9FrYp0XRKmO5srgEZQCxqyj0k7IVtqBMqxG7CrY02gZsKxgdJp7oSt7TFQQ_rIt4PYPYAprOvuzQ_8jogVApFJf1ogYFWhTObqFK2ApVO5KNl3Gh6H3guJw_BSi6dm_Cgua21Rv70sFkHO245lKCRJQOoz5oia5Rco2FMt6YgfxBbE_e29bRq7e7Mtz2dtRK3teyDwAU3eQ5GcYIv9icyIBGqE0QHTe1vd03ZIitRrY9394vO7dvWy0GHVNleDd4N2z0zosAWe51TEUcVT7i33G3Bttr5Qeg5NotqOFz-jddusby4hu2mhcwmDAXeLy7WX25wabPG2Exx3lfYw1dqy22LX6ytjNuIF0juq6FferzRdE2iK6lfN59XXa6_RsUFtG1MKYHg-gac1VioQrZl4DtE-BCc_OEc15882gWiKy-eHBl33QDNrIYmHrUba15g7mu-waUNT6j0XXJLUd0bf7xguj6_u72825-DRK4gddw8l7I0n0736z3GXHIdfjyRGb0gUIZwWRLCCFRxOM0JCFUaYq9yWyFmEvMw8OjFsp6O756jml6ENL8-6Y1VgNvEI39ulLWx6MLwZ9mDaKfyDYI0qhKXcIYDQhmBhQ8g1MGfO7VF1ErLv_MVSlBm13aOQtGxjM4YKQzjFUWlPgIDaLpyNnQbBZF54KF-P9BCxu1JFWeRIzSKKQEbzYajG01bLQdbZEiR3S9TeNNHF5KofrtZa36oaOzTxp4uTDtggxYw5CSA9LwCGlGkiAIcQ32T0OqvakqKKy5bTp5FAFfGi7lb1DYVvs-djXusa5PlDCOGxqGl1u_hbjVOpG9h6bVLyekXVZwOc5H10F-SDXD851_fugcibvnUzRGRybmBQlYOlFZguVCvobz0N0qC7riBewfvmoudjjv2xKODZ-CG_l76LwhrqUGu7OTpv_69FetKqCz2G_NiK6OeXro3D7nKq-h59d47jyLraiSgE0SQjz1LyesrIJkQoUwU6hrDXDE_zFTZ0GcBElYBckBcTJFnIQ5hCHHz60oJ35y5Z6DtdFQIXble98Dvo-zgkvpNqNNpYbqk6tWvTRtb7DiDZjOZ_NsTJJ-m7gGXv42bBJDfu_Vg5roT_fyiIabwLs3la2q3wu6DM-Vn1ib6dHaDOKwABiYOL1CvnP57SgM163-znV5O9Z1A7QfWQd_hN8ja__K5bcHXbpUfp44p1lewGRTyf7P1Q9x5WoEMl9hJKT4p62FjyLbIQiOEaRZxuI3HPXQfW0fukduzKrknffMOPMRyU7gw0R_6FkpLl-MMPdc8doxf4XztpXuu1f--F6esWwLo4JkLD54hM744DQmv5uPR9GBFGqewZ3o3sz4pxM0HeSmcvuh9vV7q19pPRYYZh46RuyPXIOyt6pqJ3v3uXwQ0JgcfMBmPihSRmfQd2ScjMB_w14ZRgVLh4PpgDmcYY5IyXEHump1s_JZyXxwNjG2HI8GT1xDuemsO4FOKqK21wXc1y4h7lwyCyJn1VWrLGxfl1r3UuiHzt5zoa5aVYl6oiPDk94TSSKaGReWdFoD3LW1KLj8DKaX9u18_NYARNO97b0Sf-_hle1DafSpr6phAezlS6h4L-2mBAkW3h4zFnvT3WLugbdKk5MU_qgvz27PAd214BIK-xlqYax-eR0c7wXAoWwix2XTf4RnPgjPo8o6iRipeDQx3HRS2JUqH3VbgDE7rL8k6P4Ll8S7EkdHNquFqj9D9WbzeVJxHCcVjw6peHZsSaAMotPr4H9tFZ9np8ujMpjQm87prfLqTXrHwqR44kMJMj_lfxgyH3FzNpurvDrYnM1srijAT7H51xgX08khhM5-aqUVTxLccKHO8xtkHPMkOcweTH89pGnISMrwZiNFXmyM5dpuRih7rbXru7wrbinZ7l_pggWIrgvTI7peLPaPvtPrWRSIrVhI3ec4N51bHgHgYdZz2R7tmZ9dBVyUS1ZmLOMXsAwSxmiQBDS-eFrSIMvDIqEkZzwpaRWmMc2rkuY0LmiUwYVYUkLDgBJGsoCSeBFmDGicB2lVsCqOMhQSaLiQCwd10er6wt8SLIMgDSNyIXkO0iyHCyYfkP7i6EIvvWl5XxsUEimMNQcNVljp71X9gOj65CWnv3IAc9FrufzjNxkjzOcl_WcAAAD___RGEPE">