Also, made a few minor tweaks to shave off a little more cumulative memory consumption:
- All rules share a single NewMIs instead of constructing their own. Only one will end up using it.
- Use MIs.resize(1) instead of MIs.clear();MIs.push_back(I) and prevent GIM_RecordInsn from changing MIs[0].
Depends on D33764