ARMBaseInstrInfo::getNumLDMAddresses is making bad assumptions about the memory operands of load and store-multiple operations. This doesn't really fix the problem properly, but it's enough to prevent crashing, at least.
I've tentatively marked this as LGTM, if there are any disagreements please feel free to override. If I've understood correctly the only uses of that function are from the ARMSchedule*.td files which will treat larger number of registers as if they were the maximum size available. I think that this, or reverting the previous patch, are the most plausible short term ways to fix the bots (I've checked I can do a 2-stage build).