This is an archive of the discontinued LLVM Phabricator instance.

[X86] Add a DAG combine to turn vzmovl+load into vzload if the load isn't volatile. Remove isel patterns for vzmovl+load
ClosedPublic

Authored by craig.topper on Jun 21 2019, 1:14 PM.

Details

Summary

We currently have some isel patterns for treating vzmovl+load the same as vzload, but that shrinks the load which we shouldn't do if the load is volatile.

Rather than adding isel checks for volatile. This patch removes the patterns and teachs DAG combine to merge them into vzload when its legal to do so.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Jun 21 2019, 1:14 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 21 2019, 1:14 PM
Herald added a subscriber: hiraditya. · View Herald Transcript

Remove FIXMEs from changed tests.

spatel accepted this revision.Jun 25 2019, 7:48 AM

LGTM

This revision is now accepted and ready to land.Jun 25 2019, 7:48 AM
This revision was automatically updated to reflect the committed changes.