1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 11:33:24 +02:00
llvm-mirror/lib/Transforms
Arnold Schwaighofer 6fab174840 SLPVectorizer: Sort inputs to commutative binary operations
Sort the operands of the other entries in the current vectorization root
according to the first entry's operands opcodes.

%conv0 = uitofp ...
%load0 = load float ...

= fmul %conv0, %load0
= fmul %load0, %conv1
= fmul %load0, %conv2

Make sure that we recursively vectorize <%conv0, %conv1, %conv2> and <%load0,
%load0, %load0>.

This makes it more likely to obtain vectorizable trees. We have to be careful
when we sort that we don't destroy 'good' existing ordering implied by source
order.

radar://15080067

llvm-svn: 191977
2013-10-04 20:39:16 +00:00
..
Hello First check in. Modified a comment. 2013-09-27 07:36:10 +00:00
InstCombine Pull fptrunc's upwards through selects when one of the select's selectands was a constant. This has a number of benefits, including producing small immediates (easier to materialize, smaller constant pools) as well as being more likely to allow the fptrunc to fuse with a preceding instruction (truncating selects are unusual). 2013-10-03 21:08:05 +00:00
Instrumentation Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
IPO Optimize linkonce_odr unnamed_addr functions during LTO. 2013-10-03 18:29:09 +00:00
ObjCARC Revert "Give internal classes hidden visibility." 2013-09-11 18:05:11 +00:00
Scalar StructurizeCFG: Add dependency on LowerSwitch pass 2013-10-02 17:04:59 +00:00
Utils Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Vectorize SLPVectorizer: Sort inputs to commutative binary operations 2013-10-04 20:39:16 +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