llvm-6502/lib/Transforms
Shuxin Yang 2da70d1792 Disable the optimization about promoting vector-element-access with symbolic 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178912 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-05 21:07:08 +00:00
..
Hello Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombine Check if Type is a vector before calling function Type::getVectorNumElements. 2013-03-28 01:28:02 +00:00
Instrumentation Minor simplification. 2013-03-28 22:40:08 +00:00
IPO Use a worklist to avoid a sneaky iterator invalidation. 2013-04-02 08:16:45 +00:00
ObjCARC Added two debug logging messages to VisitInstructionsTopDown to match VisitInstructionsBottomUp. 2013-04-05 18:26:08 +00:00
Scalar Disable the optimization about promoting vector-element-access with symbolic index. 2013-04-05 21:07:08 +00:00
Utils Add all clauses when merging the landing pads. Duplicates will be handled later on. 2013-03-22 20:31:05 +00:00
Vectorize LoopVectorizer: Pass OperandValueKind information to the cost model 2013-04-04 23:26:27 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00