llvm/lib/Transforms
Arnold Schwaighofer af57bdf7d6 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191977 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-04 20:39:16 +00:00
..
Hello
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
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
LLVMBuild.txt
Makefile