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.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
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).
Comment Actions
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.