OSDN Git Service

SLP Vectorizer: Add support for vectorizing parts of the tree.
authorNadav Rotem <nrotem@apple.com>
Mon, 24 Jun 2013 02:52:43 +0000 (02:52 +0000)
committerNadav Rotem <nrotem@apple.com>
Mon, 24 Jun 2013 02:52:43 +0000 (02:52 +0000)
commit25961b469a9debe69b915bcb4fa49d35d2ee9544
treee7248f96a07965ce6e6992583c81044989b9d925
parentf7b5e016363b664461f33a4a391b27bea637209d
SLP Vectorizer: Add support for vectorizing parts of the tree.

Untill now we detected the vectorizable tree and evaluated the cost of the
entire tree.  With this patch we can decide to trim-out branches of the tree
that are not profitable to vectorizer.

Also, increase the max depth from 6 to 12. In the worse possible case where all
of the code is made of diamond-shaped graph this can bring the cost to 2**10,
but diamonds are not very common.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184681 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/long_chains.ll [new file with mode: 0644]