This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Changes some SchedAlias to WriteRes for Cortex-A57.
ClosedPublic

Authored by cestes on Mar 3 2015, 2:38 PM.

Details

Summary

While SchedAliases are a simple way to "map" default SchedWrites
to target-specific ones, the lead to entries in the generatated
AArch64WriteLatencyTable with WriteResourceIds of zero. This does
not affect simple latency and resource lookup, but it does break
SchedReadAdvances when using those SchedWrites. This patch changes
the only two SchedAliases for Cortex-A57 that were also used in
SchedReadAdannces to use WriteRes instead.

Diff Detail

Event Timeline

cestes updated this revision to Diff 21145.Mar 3 2015, 2:38 PM
cestes retitled this revision from to [AArch64] Changes some SchedAlias to WriteRes for Cortex-A57..
cestes updated this object.
cestes edited the test plan for this revision. (Show Details)
cestes added a subscriber: Unknown Object (MLST).Mar 4 2015, 12:13 PM
apazos edited edge metadata.Apr 8 2015, 4:31 PM

I have verified that with this patch the MachineCombiner pass works better and we are able to generate more multiply-add instructions on a57. Before we were missing opportunities due to wrong computation of forwarding latency (e.g., mul instruction that feeds into a madd instruction as its accumulator should have a reduced latency).

mcrosier accepted this revision.Apr 10 2015, 5:53 AM
mcrosier added a reviewer: mcrosier.
This revision is now accepted and ready to land.Apr 10 2015, 5:53 AM
mcrosier closed this revision.Apr 10 2015, 6:28 AM

Dave, Ana and I are confident this is a good patch and seeing as Dave is the code owner, I went ahead and gave the LGTM. If there are any concerns, please comment and I/we will address them ASAP.

Committed in r234594.