Without this change I believe the mi scheduler treats these transformed loads/stores as scheduling barriers. Therefore, I don't think we want to just drop the MMOs.
Chad
Differential D16369
[AArch64] Don't drop MMOs in the load/store optimizer when forming ldp/stp instructions or pre-/post-index loads/stores. mcrosier on Jan 20 2016, 12:22 PM. Authored by
Details
Diff Detail Event TimelineComment Actions Looks like this change is exposing a correctness issue in the MI scheduler. Investigating.. Comment Actions Per Junmo. I'm going to defer the part that adds the MMOs to the unscaled pairs until D8705 lands. Comment Actions Can't all the other added memref cases also potentially run into the scheduler bug you're seeing? Comment Actions It's not a problem in this case because we're just copying a single MMO from the ldr/str to the pre-/post-index equivalent. We run into problems only with the paired instructions where we have multiple MMOs. |
For consistency, could you change this to drop the "MIB->" and just build off the above expr as was done in the change above?