summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/ScalarRepl/dynamic-vector-gep.ll
Commit message (Collapse)AuthorAgeFilesLines
* Disable the optimization about promoting vector-element-access with symbolic ↵Shuxin Yang2013-04-051-167/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | index. This optimization is unstable at this moment; it 1) block us on a very important application 2) PR15200 3) test6 and test7 in test/Transforms/ScalarRepl/dynamic-vector-gep.ll (the CHECK command compare the output against wrong result) I personally believe this optimization should not have any impact on the autovectorized code, as auto-vectorizer is supposed to put gather/scatter in a "right" way. Although in theory downstream optimizaters might reveal some gather/scatter optimization opportunities, the chance is quite slim. For the hand-crafted vectorizing code, in term of redundancy elimination, load-CSE, copy-propagation and DSE can collectively achieve the same result, but in much simpler way. On the other hand, these optimizers are able to improve the code in a incremental way; in contrast, SROA is sort of all-or-none approach. However, SROA might slighly win in stack size, as it tries to figure out a stretch of memory tightenly cover the area accessed by the dynamic index. rdar://13174884 PR15200 llvm-svn: 178912
* Now that SROA can form alloca's for dynamic vector accesses, further improve ↵Pete Cooper2012-06-171-33/+62
| | | | | | it to be able to replace operations on these vector alloca's with insert/extract element insts llvm-svn: 158623
* Fix crash from r158529 on Bullet.Pete Cooper2012-06-161-0/+55
| | | | | | | | Dynamic GEPs created by SROA needed to insert extra "i32 0" operands to index through structs and arrays to get to the vector being indexed. llvm-svn: 158590
* Allow SROA to split up an array of vectors into multiple vectors, even when ↵Pete Cooper2012-06-151-0/+83
the vectors are dynamically indexed llvm-svn: 158529
OpenPOWER on IntegriCloud