This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ] Replicate the load with most uses in buildVector()
ClosedPublic

Authored by jonpa on Nov 9 2018, 8:45 AM.

Details

Reviewers
uweigand
Summary

Iterate over all elements and count the number of uses among them for each used load. Then make sure to REPLICATE the load which has the most uses in order to minimize the number of needed element insertions.

Diff Detail

Event Timeline

jonpa created this revision.Nov 9 2018, 8:45 AM

This only affects one file on SPEC:

update.s

vlvgf          :                   18                   12       -6
vrepf          :                    8                    5       -3
vlrepf         :                    3                    6       +3
l              :                  163                  160       -3
vlvgp          :                    6                    3       -3
lg             :                  320                  319       -1
Spill|Reload   :                  478                  477       -1
uweigand accepted this revision.Nov 9 2018, 9:38 AM

LGTM, thanks!

This revision is now accepted and ready to land.Nov 9 2018, 9:38 AM
jonpa closed this revision.Nov 12 2018, 12:21 AM

r346637.