Deduplicate large parts of the worklist processing (GreedyPatternRewriteDriver::processWorklist).
The new class hierarchy is as follows:
GreedyPatternRewriteDriver (abstract) ^ | ----------------------------------- | | RegionPatternRewriteDriver MultiOpPatternRewriteDriver
Also update the Markdown documentation.
Depends On: D142623
I sorted the functions in here alphabetically, but not the implementations below. That would make the diff harder to read.
Also updated many of the comments.