This is an archive of the discontinued LLVM Phabricator instance.

[X86][BtVer2] Update the WriteLoad latency.
ClosedPublic

Authored by andreadb on Jan 18 2019, 10:08 AM.

Details

Summary

r327630 introduced new write definitions for float/vector loads.
Before that revision, WriteLoad was used by both integer/float (scalar/vector) load. So, WriteLoad had to conservatively declare a latency to 5cy. That is because the load-to-use latency for float/vector load is 5cy.

Now that we have dedicated writes for float/vector loads, there is no reason why we should keep the latency of WriteLoad to 5cy. At the moment, WriteLoad is only used by scalar integer loads only; we can assume an optimstic 3cy latency for them.
This patch changes that latency from 5cy to 3cy, and regenerates the affected scheduling/mca tests.

Diff Detail

Event Timeline

andreadb created this revision.Jan 18 2019, 10:08 AM
RKSimon added inline comments.Jan 18 2019, 10:21 AM
lib/Target/X86/X86ScheduleBtVer2.td
273

Can we remove this FIXME?

andreadb updated this revision to Diff 182557.Jan 18 2019, 10:41 AM
andreadb marked an inline comment as done.

Removed FIXME.

RKSimon accepted this revision.Jan 20 2019, 2:53 AM

LGTM - folded scalar loads already use the 3cy load latency.

This revision is now accepted and ready to land.Jan 20 2019, 2:53 AM
This revision was automatically updated to reflect the committed changes.