1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/lib/Transforms
Alexey Bataev 3aadace193 [SLP] Fix for PR6246: vectorization for scalar ops on vector elements.
When trying to vectorize trees that start at insertelement instructions
function tryToVectorizeList() uses vectorization factor calculated as
MinVecRegSize/ScalarTypeSize. But sometimes it does not work as tree
cost for this fixed vectorization factor is too high.
Patch tries to improve the situation. It tries different vectorization
factors from max(PowerOf2Floor(NumberOfVectorizedValues),
MinVecRegSize/ScalarTypeSize) to MinVecRegSize/ScalarTypeSize and tries
to choose the best one.

Differential Revision: https://reviews.llvm.org/D27215

llvm-svn: 289043
2016-12-08 11:57:51 +00:00
..
Coroutines Fix spelling mistakes in Transforms comments. NFC. 2016-11-20 13:19:49 +00:00
Hello Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
InstCombine [InstCombine] change select type to eliminate bitcasts 2016-12-03 15:25:16 +00:00
Instrumentation [sanitizer-coverage] use IRB.SetCurrentDebugLocation after IRB.SetInsertPoint 2016-12-03 01:43:30 +00:00
IPO CFI-icall on Thumb 2016-12-08 00:32:26 +00:00
ObjCARC [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
Scalar [BDCE] Skip metadata while replacing uses. 2016-12-07 21:47:32 +00:00
Utils [InlineFunction] Refactor code in function `fixupLineNumbers' as suggested by David in D27462. NFC 2016-12-07 12:01:45 +00:00
Vectorize [SLP] Fix for PR6246: vectorization for scalar ops on vector elements. 2016-12-08 11:57:51 +00:00
CMakeLists.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
LLVMBuild.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00