All,
This patch removes edges in the scheduling graph between stores/loads off the same base register if memory accesses do not overlap. An improvement on eembc/automark on a cortex-a53 device, as well as a small improvement on spec2000/eon. No significant performance changes were observed on cortex-a57, but this may be more relevant on in-order architectures. Please have a look.
Thanks,
Sanjin
(I submitted on behalf of Sanjin to ease review.)
I don't like the truncation of "different" to "diff". In fact, I think "disjoint" would be more accurate: "areMemAccessesTriviallyDisjoint".
What is the behaviour is MIa or MIb are not memory access instructions? you've below had them return false but I think it should assert in this case.