[x86] Based on a long conversation between myself, Jim Grosbach, Hal
authorChandler Carruth <chandlerc@gmail.com>
Thu, 3 Jul 2014 02:11:29 +0000 (02:11 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 3 Jul 2014 02:11:29 +0000 (02:11 +0000)
commit49a8b10d827666daa62064090cb11d6148cac3a3
tree6cac1655573f1fe656da59907db453fec5ca7d39
parent97de474a36c4df5f9de603c1d6ae2f3e0b268cf4
[x86] Based on a long conversation between myself, Jim Grosbach, Hal
Finkel, Eric Christopher, and a bunch of other people I'm probably
forgetting (sorry), add an option to the x86 backend to widen vectors
during type legalization rather than promote them.

This still would promote vNi1 vectors to get the masks right, but would
widen other vectors. A lot of experiments are piling up right now
showing that widening should probably be the default legalization
strategy outside of vNi1 cases, but it is very hard to test the
rammifications of that and fix bugs in widening-based legalization
without an option that enables it. I'll be checking in tests shortly
that use this option to exercise cases where widening doesn't work well
and hopefully we'll be able to switch fully to this soon.

llvm-svn: 212249
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h