OSDN Git Service

ARM Cost Model: We need to detect the max bitwidth of types in the loop in order...
authorNadav Rotem <nrotem@apple.com>
Fri, 11 Jan 2013 07:11:59 +0000 (07:11 +0000)
committerNadav Rotem <nrotem@apple.com>
Fri, 11 Jan 2013 07:11:59 +0000 (07:11 +0000)
commita675c74208f77351ea7fa3eed4f542ae781ab566
treea2948ca75bec6ed4f9c71bd45b1ae55b36c6cc4f
parent04a0dc772916ddebdeefaf1344247e243ba6636d
ARM Cost Model:  We need to detect the max bitwidth of types in the loop in order to select the max vectorization factor.
We don't have a detailed analysis on which values are vectorized and which stay scalars in the vectorized loop so we use
another method. We look at reduction variables, loads and stores, which are the only ways to get information in and out
of loop iterations. If the data types are extended and truncated then the cost model will catch the cost of the vector
zext/sext/trunc operations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172178 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/ARM/width-detect.ll [new file with mode: 0644]