llvm/test/Transforms/ScalarRepl
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
..
2003-05-29-ArrayFail.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
2003-09-12-IncorrectPromote.ll FileCheck-ify some grep tests 2013-01-25 22:11:46 +00:00
2003-10-29-ArrayProblem.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2006-11-07-InvalidArrayPromote.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
2007-05-29-MemcpyPreserve.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2007-11-03-bigendian_apint.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
2008-01-29-PromoteBug.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-02-28-SubElementExtractCrash.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-06-05-loadstore-agg.ll Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
2008-06-22-LargeArray.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-08-22-out-of-range-array-promote.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-09-22-vector-gep.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2009-02-02-ScalarPromoteOutOfRange.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-02-05-LoadFCA.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-03-04-MemCpyAlign.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2009-12-11-NeonTypes.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2010-01-18-SelfCopy.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2011-05-06-CapturedAlloca.ll Fix PR9820: a read-only call differs from a load in that a load doesn't 2011-05-06 10:30:37 +00:00
2011-06-08-VectorExtractValue.ll Recommit r158407: Allow SROA to look at a vector type and see if the offset is out of range to be replaced with a scalar access. Now with additional fix and test for indexing into a vector inside a struct 2012-06-14 23:53:53 +00:00
2011-06-17-VectorPartialMemset.ll When scalar replacement returns a vector type, only accept it if the vector 2011-06-18 06:17:51 +00:00
2011-09-22-PHISpeculateInvoke.ll PR10987: add a missed safety check to isSafePHIToSpeculate in scalarrepl. 2011-09-22 18:56:30 +00:00
2011-10-11-VectorMemset.ll Fix PR11106 by correcting a typo that has been in the code for over a year. This 2011-10-11 21:26:40 +00:00
2011-10-22-VectorCrash.ll The element insertion code in scalar replacement doesn't handle incorrect 2011-10-23 07:02:10 +00:00
2011-11-11-EmptyStruct.ll Make sure scalarrepl picks the correct alloca when it rewrites a bitcast. Fixes PR11353. 2011-11-12 02:07:50 +00:00
address-space.ll Fix the second half of PR7437: scalarrepl wasn't preserving 2010-07-08 00:27:05 +00:00
AggregatePromote.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
arraytest.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
badarray.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
basictest.ll if an alloca is only ever accessed as a unit, and is accessed with load/store instructions, 2011-01-16 06:18:28 +00:00
bitfield-sroa.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
copy-aggregate.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
crash.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
debuginfo-preserved.ll Revert "Adding DIImportedModules to DIScopes." 2013-03-28 02:44:59 +00:00
DifferingTypes.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
inline-vector.ll Do some simple copy propagation through integer loads and stores when promoting 2011-03-29 05:19:52 +00:00
lifetime.ll Finish adding support for lifetime intrinsics to SROA. Fixes PR10121! 2011-07-25 23:14:22 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
load-store-aggregate.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
memcpy-align.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
memset-aggregate-byte-leader.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
memset-aggregate.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
negative-memset.ll line endings 2012-03-15 20:24:29 +00:00
nonzero-first-index.ll Generalize SROA to allow the first index of a GEP to be non-zero. Add a 2009-12-22 06:57:14 +00:00
not-a-vector.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
only-memcpy-uses.ll Only convert allocas to scalars if it is profitable. The profitability metric I 2011-03-16 00:13:44 +00:00
phi-cycle.ll Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
phi-select.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2013-01-01 13:57:25 +00:00
phinodepromote.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
select_promote.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sroa_two.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
sroa-fca.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
union-fp-int.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
union-packed.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
union-pointer.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
vector_memcpy.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
vector_promote.ll Add a test for PR10565. 2011-10-11 06:10:37 +00:00
vectors-with-mismatched-elements.ll Fix MergeInVectorType to check for vector types with the same alloc 2011-07-21 23:30:09 +00:00
volatile.ll s/grep/FileCheck/ in some tests 2013-02-13 22:00:37 +00:00