The GreedyPatternRewriteDriver did previously not count the first iterations. I.e., when setting config.maxIterations = 1, two iterations were performed. In pratice, this number is not really important; we usually just a limit in some reasonable order of magnitude. However, this fix allows us to write better convergence/worklist tests with carefully crafted test patterns to purposely trigger edge cases in the driver.
Similarly, the first rewrite was previously not counted towards config.maxNumRewrites.
For consistency, OpPatternRewriteDriver now uses config.maxNumRewrites instead of config.maxIterations; this driver does not have "iterations", it consists of a single loop (corresponding to the inner loop in the GreedyPatternRewriteDriver).