Assertion failure in SCEVExpanderCleaner::cleanup() during LoopIdiomRecognizePass #67269
Labels
crash
Prefer [crash-on-valid] or [crash-on-invalid]
incomplete
Issue not complete (e.g. missing a reproducer, build arguments, etc.)
llvm:SCEV
Scalar Evolution
While compiling a file (likely MLIRContext.cpp) with LLVM 17.0.0, I encountered an assertion failure in SCEVExpanderCleaner::cleanup(). This occurred when running the LoopIdiomRecognize pass.
The pass detected a store instruction using the result of a load, and tried to expand the SCEV values for those instructions using SCEVExpander. During the cleanup phase after expansion, the assertion:
"removed instruction should only be used by instructions inserted during expansion"
failed, indicating the expanded instructions were not fully cleaned up.
The preprocessed source file and reproduction script are located at:
/tmp/MLIRContext-97a25e.cpp
/tmp/MLIRContext-97a25e.sh
The text was updated successfully, but these errors were encountered: