This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel] Port some basic shufflevector undef combines from the DAGCombiner
ClosedPublic

Authored by paquette on Mar 18 2020, 1:12 PM.

Details

Summary

Port over the following:

  • shuffle undef, undef, any_mask -> undef
  • shuffle anything, anything, undef_mask -> undef

This sort of thing shows up a lot when you try to bugpoint code containing shufflevector. This can be annoying when you are doing things like "give me a testcase where GISel produces more instructions".

Also add a FIXME noting that these should be ported over to the custom predicate feature once it lands.

Diff Detail

Event Timeline

paquette created this revision.Mar 18 2020, 1:12 PM
This revision is now accepted and ready to land.Mar 19 2020, 10:23 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMar 19 2020, 5:01 PM