summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-extract/llvm-extract.cpp
diff options
context:
space:
mode:
authorMatthew Simpson <mssimpso@codeaurora.org>2016-01-15 18:51:51 +0000
committerMatthew Simpson <mssimpso@codeaurora.org>2016-01-15 18:51:51 +0000
commit57fe1b10db94080f7acd932578b103ac793eb28a (patch)
tree947a6fe51c42bd93a244ddbed336aa42dc486315 /llvm/tools/llvm-extract/llvm-extract.cpp
parentb4adf55e0f050a494cc0c9a98b0bd46e8e30070a (diff)
downloadbcm5719-llvm-57fe1b10db94080f7acd932578b103ac793eb28a.tar.gz
bcm5719-llvm-57fe1b10db94080f7acd932578b103ac793eb28a.zip
Reapply r257800 with fix
The fix uniques the bundle of getelementptr indices we are about to vectorize since it's possible for the same index to be used by multiple instructions. The original commit message is below. [SLP] Vectorize the index computations of getelementptr instructions. This patch seeds the SLP vectorizer with getelementptr indices. The primary motivation in doing so is to vectorize gather-like idioms beginning with consecutive loads (e.g., g[a[0] - b[0]] + g[a[1] - b[1]] + ...). While these cases could be vectorized with a top-down phase, seeding the existing bottom-up phase with the index computations avoids the complexity, compile-time, and phase ordering issues associated with a full top-down pass. Only bundles of single-index getelementptrs with non-constant differences are considered for vectorization. llvm-svn: 257918
Diffstat (limited to 'llvm/tools/llvm-extract/llvm-extract.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud