llvm-6502/lib
Chandler Carruth 8ac2f142a8 [x86] Make the new vector shuffle lowering lower blends as VSELECT
nodes, and rely exclusively on its logic. This removes a ton of
duplication from the blend lowering and centralizes it in one place.

One downside is that it requires a bunch of hacks to make this work with
the current legalization framework. We have to manually speculate one
aspect of legalizing VSELECT nodes to get everything to work nicely
because the existing legalization framework isn't *actually* bottom-up.

The other grossness is that we somewhat duplicate the analysis of
constant blends. I'm on the fence here. If reviewers thing this would
look better with VSELECT when it has constant operands dumping over tho
VECTOR_SHUFFLE, we could go that way. But it would be a substantial
change because currently all of the actual blend instructions are
matched via patterns in the TD files based around VSELECT nodes (despite
them not being perfect fits for that). Suggestions welcome, but at least
this removes the rampant duplication in the backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218600 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-29 09:57:07 +00:00
..
Analysis Ignore annotation function calls in cost computation 2014-09-26 17:48:40 +00:00
AsmParser Make CallingConv::ID an alias of "unsigned". 2014-09-10 18:00:17 +00:00
Bitcode Do not destroy external linkage when deleting function body 2014-09-23 12:54:19 +00:00
CodeGen Add MachineOperand::ChangeToFPImmediate and setFPImm 2014-09-28 19:24:59 +00:00
DebugInfo Object: BSS/virtual sections don't have contents 2014-09-26 22:32:16 +00:00
ExecutionEngine [MCJIT] Fix some more RuntimeDyld debugging output format specifiers. 2014-09-23 19:20:57 +00:00
IR Remove dead code from DIBuilder 2014-09-29 06:32:54 +00:00
IRReader Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
LineEditor
Linker Merge alignment of common GlobalValue. 2014-09-09 17:48:18 +00:00
LTO LTO: introduce object file-based on-disk module format. 2014-09-18 21:28:49 +00:00
MC WinCOFFObjectWriter.cpp: make write_uint32_le more efficient 2014-09-28 00:22:27 +00:00
Object Object: BSS/virtual sections don't have contents 2014-09-26 22:32:16 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Combine segments that cover the same location 2014-09-25 00:34:18 +00:00
Support Fix llvm::huge_valf multiple initializations with Visual C++. 2014-09-27 14:41:29 +00:00
TableGen Refactoring: raw pointer -> unique_ptr 2014-09-25 19:55:58 +00:00
Target [x86] Make the new vector shuffle lowering lower blends as VSELECT 2014-09-29 09:57:07 +00:00
Transforms [IndVar] Don't widen loop compare unless IV user is sign extended. 2014-09-26 20:05:35 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile