File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
compiler/src/iree/compiler/Dialect/Util/Transforms Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -493,6 +493,12 @@ class OptimizeIntArithmeticPass
493493 FrozenRewritePatternSet frozenPatterns (std::move (patterns));
494494 for (int i = 0 ;; ++i) {
495495 LLVM_DEBUG (dbgs () << " * Starting iteration: " << i << " \n " );
496+ // NOTE(jtuyls): Erasing all data flow solver states here should be safe.
497+ // Manually updating and invalidating appropriate states in the
498+ // inserted patterns might speed up the transformation, but this
499+ // currently results in occasional crashes. See
500+ // https://github.com/iree-org/iree/issues/20636.
501+ solver.eraseAllStates ();
496502 if (failed (solver.initializeAndRun (op))) {
497503 emitError (op->getLoc ()) << " failed to perform int range analysis" ;
498504 return signalPassFailure ();
You can’t perform that action at this time.
0 commit comments