llvm-project/llvm/lib/Transforms
Karthik Bhat e03a25da70 Add Support to Recognize and Vectorize NON SIMD instructions in SLPVectorizer.
This patch adds support to recognize patterns such as fadd,fsub,fadd,fsub.../add,sub,add,sub... and
vectorizes them as vector shuffles if they are profitable.
These patterns of vector shuffle can later be converted to instructions such as addsubpd etc on X86.
Thanks to Arnold and Hal for the reviews. http://reviews.llvm.org/D4015 

llvm-svn: 211339
2014-06-20 04:32:48 +00:00
..
Hello [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
IPO IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
InstCombine Added instruction combine to transform few more negative values addition to subtraction (Part 1) 2014-06-19 10:36:52 +00:00
Instrumentation [msan] Handle X86 *.psad.* and *.pmadd.* intrinsics. 2014-06-18 12:02:29 +00:00
ObjCARC Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
Scalar Updated comments as suggested by Rafael. Thanks. 2014-06-19 14:11:53 +00:00
Utils Don't build switch lookup tables for dllimport or TLS variables 2014-06-20 00:38:12 +00:00
Vectorize Add Support to Recognize and Vectorize NON SIMD instructions in SLPVectorizer. 2014-06-20 04:32:48 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00