This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads
ClosedPublic

Authored by evgeny777 on Sep 12 2020, 5:20 AM.

Details

Summary

WriteAdr describes scheduling for first operand of load:

$x0, $x1, $x2 = LDPXpost $x0, 2          # x0 is first

Diff Detail

Event Timeline

evgeny777 created this revision.Sep 12 2020, 5:20 AM
Herald added a project: Restricted Project. · View Herald Transcript
evgeny777 requested review of this revision.Sep 12 2020, 5:20 AM

STRWpost should be $x0 = STRWpost $xzr, $x0. The concept of scheduling a store can be a little strange, but the address update should come as the first operand.

I agree loads look backwards.

evgeny777 updated this revision to Diff 291386.Sep 12 2020, 6:01 AM
evgeny777 retitled this revision from [AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads and stores to [AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads.
evgeny777 edited the summary of this revision. (Show Details)

@dmgreen Thx, I've updated the diff.

dmgreen accepted this revision.Sep 12 2020, 6:16 AM

Thanks. LGTM

This revision is now accepted and ready to land.Sep 12 2020, 6:16 AM