This is an archive of the discontinued LLVM Phabricator instance.

[DAGCombine] Fix a bug in a BUILD_VECTOR combine
ClosedPublic

Authored by mkuper on Mar 3 2015, 12:57 PM.

Details

Summary

When trying to convert a BUILD_VECTOR into a shuffle, we try to split vectors that are twice as wide as the destination.
We can not do this when we also need the zero vector to create a blend.

This fixes PR22774.

Diff Detail

Repository
rL LLVM

Event Timeline

mkuper updated this revision to Diff 21131.Mar 3 2015, 12:57 PM
mkuper retitled this revision from to [DAGCombine] Fix a bug in a BUILD_VECTOR combine.
mkuper updated this object.
mkuper edited the test plan for this revision. (Show Details)
mkuper added reviewers: spatel, andreadb.
mkuper added a subscriber: Unknown Object (MLST).
andreadb accepted this revision.Mar 3 2015, 1:18 PM
andreadb edited edge metadata.

Hi Michael,

The patch looks good to me. Thanks for the quick fix!

Is this a regression from 224759?
If so, then your fix may be a good candidate for 3.6.1.

This revision is now accepted and ready to land.Mar 3 2015, 1:18 PM

Thanks, Nadav, Andrea.

Yes, this is a regression from r224759 and should probably go into 3.6.1.

This revision was automatically updated to reflect the committed changes.