aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/WasmObjectFile.cpp
diff options
context:
space:
mode:
authorGuozhi Wei <carrot@google.com>2017-12-14 19:35:43 +0000
committerGuozhi Wei <carrot@google.com>2017-12-14 19:35:43 +0000
commitd22d1b953dabb160c41ae268fffc180bdd14d9e5 (patch)
treedc58251dec9a360a0becad4c5bb5f1723df7971e /llvm/lib/Object/WasmObjectFile.cpp
parent2cfa11a52457061cc264ab14ea3fe9b7037406a9 (diff)
downloadllvm-d22d1b953dabb160c41ae268fffc180bdd14d9e5.zip
llvm-d22d1b953dabb160c41ae268fffc180bdd14d9e5.tar.gz
llvm-d22d1b953dabb160c41ae268fffc180bdd14d9e5.tar.bz2
[SLPVectorizer] Don't ignore scalar extraction instructions of aggregate value
In SLPVectorizer, the vector build instructions (insertvalue for aggregate type) is passed to BoUpSLP.buildTree, it is treated as UserIgnoreList, so later in cost estimation, the cost of these instructions are not counted. For aggregate value, later usage are more likely to be done in scalar registers, either used as individual scalars or used as a whole for function call or return value. Ignore scalar extraction instructions may cause too aggressive vectorization for aggregate values, and slow down performance. So for vectorization of aggregate value, the scalar extraction instructions are required in cost estimation. Differential Revision: https://reviews.llvm.org/D41139 llvm-svn: 320736
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions