This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Try harder to avoid load/move-to VSR for partial vector loads
ClosedPublic

Authored by RolandF on Apr 1 2019, 3:41 PM.

Details

Summary

There is code in the PPC code generator to avoid merging a load with an add to get an update form load if the load consumer is a single scalar to vector conversion, where we could use a partial vector load. This code currently only looks for 64-bit int cases, and it gets confused by token factor uses. Update the code to handle 32-bit, 16-bit, and 8-bit partial vector loads for supporting processors, and only check the register result uses.

Diff Detail

Repository
rL LLVM

Event Timeline

RolandF created this revision.Apr 1 2019, 3:41 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 1 2019, 3:41 PM
nemanjai accepted this revision.Apr 23 2019, 5:50 AM

LGTM.

This revision is now accepted and ready to land.Apr 23 2019, 5:50 AM
This revision was automatically updated to reflect the committed changes.