llvm-project/llvm/test/Transforms/ScalarRepl
Chris Lattner 9491dee24e Enhance SRoA to be more aggressive about scalarization of aggregate allocas
that have PHI or select uses of their element pointers.  This can often happen
when instcombine sinks two loads into a successor, inserting a phi or select.

With this patch, we can scalarize the alloca, but the pinned elements are not
yet promoted.  This is still a win for large aggregates where only one element
is used.  This fixes rdar://8904039 and part of rdar://7339113 (poor codegen
on stringswitch).

llvm-svn: 124070
2011-01-23 08:27:54 +00:00
..
2003-05-29-ArrayFail.ll
2003-05-30-InvalidIndices.ll
2003-05-30-MultiLevel.ll
2003-09-12-IncorrectPromote.ll
2003-10-29-ArrayProblem.ll
2005-12-14-UnionPromoteCrash.ll
2006-01-24-IllegalUnionPromoteCrash.ll
2006-04-20-PromoteCrash.ll
2006-10-23-PointerUnionCrash.ll
2006-11-07-InvalidArrayPromote.ll
2006-12-11-SROA-Crash.ll
2007-03-19-CanonicalizeMemcpy.ll
2007-05-24-LargeAggregate.ll
2007-05-29-MemcpyPreserve.ll
2007-11-03-bigendian_apint.ll
2008-01-29-PromoteBug.ll
2008-02-28-SubElementExtractCrash.ll
2008-06-05-loadstore-agg.ll
2008-06-22-LargeArray.ll
2008-08-22-out-of-range-array-promote.ll
2008-09-22-vector-gep.ll
2009-01-09-scalarrepl-empty.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
2009-02-02-ScalarPromoteOutOfRange.ll
2009-02-05-LoadFCA.ll
2009-03-04-MemCpyAlign.ll
2009-03-05-Aggre2Scalar-dbg.ll
2009-04-21-ZeroLengthMemSet.ll
2009-05-08-I1Crash.ll
2009-06-01-BitcastIntPadding.ll
2009-08-16-VLA.ll
2009-12-11-NeonTypes.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-01-18-SelfCopy.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-11-24-IndirectVoid.ll Treat a call of function pointer like a load of the pointer when considering 2010-11-24 22:04:20 +00:00
AggregatePromote.ll
DifferingTypes.ll
address-space.ll Fix the second half of PR7437: scalarrepl wasn't preserving 2010-07-08 00:27:05 +00:00
arraytest.ll
badarray.ll fix PR5436 by making the 'simple' case of SRoA not promote out of range 2009-11-27 16:37:41 +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
copy-aggregate.ll Extend SROA to handle arrays accessed as homogeneous structs and vice versa. 2011-01-13 17:45:11 +00:00
debuginfo.ll
dg.exp
load-store-aggregate.ll
memcpy-align.ll Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
memcpy-from-global.ll allow eliminating an alloca that is just copied from an constant global 2010-11-18 06:41:51 +00:00
memset-aggregate-byte-leader.ll
memset-aggregate.ll
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
phi-select.ll Enhance SRoA to be more aggressive about scalarization of aggregate allocas 2011-01-23 08:27:54 +00:00
phinodepromote.ll
select_promote.ll
sroa-fca.ll
sroa_two.ll
union-fp-int.ll
union-packed.ll
union-pointer.ll
vector_memcpy.ll
vector_promote.ll remove an old hack that avoided creating MMX datatypes. The 2011-01-23 06:40:33 +00:00
volatile.ll