llvm-6502/lib/Transforms/Scalar
Hal Finkel 9d85eff56a [DSE] Remove no-data-layout-only type-based overlap checking
DSE's overlap checking contained special logic, used only when no DataLayout
was available, which inferred a complete overwrite when the pointee types were
equal. This logic seems fine for regular loads/stores, but does not work for
memcpy and friends. Instead of fixing this, I'm just removing it.
Philosophically, transformations should not contain enhanced behavior used only
when data layout is lacking (data layout should be strictly additive), and
maintaining these rarely-tested code paths seems not worthwhile at this stage.

Credit to Aliaksei Zasenka for the bug report and the diagnosis. The test case
(slightly reduced from that provided by Aliaksei) replaces the original
contents of test/Transforms/DeadStoreElimination/no-targetdata.ll -- a few
other tests have been updated to have a data layout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220035 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-17 11:56:00 +00:00
..
ADCE.cpp
AlignmentFromAssumptions.cpp
CMakeLists.txt
ConstantHoisting.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp [DSE] Remove no-data-layout-only type-based overlap checking 2014-10-17 11:56:00 +00:00
EarlyCSE.cpp
FlattenCFGPass.cpp
GVN.cpp
IndVarSimplify.cpp
JumpThreading.cpp
LICM.cpp
LLVMBuild.txt
LoadCombine.cpp
LoopDeletion.cpp
LoopIdiomRecognize.cpp
LoopInstSimplify.cpp
LoopRerollPass.cpp
LoopRotation.cpp
LoopStrengthReduce.cpp
LoopUnrollPass.cpp [SCEV] Add some asserts to the recently improved trip count computation 2014-10-11 00:12:11 +00:00
LoopUnswitch.cpp
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp Allow call-slop optzn for destinations with a suitable dereferenceable attribute 2014-10-16 19:43:08 +00:00
MergedLoadStoreMotion.cpp
PartiallyInlineLibCalls.cpp
Reassociate.cpp [Reassociate] Don't canonicalize X - undef to X + (-undef). 2014-10-09 20:06:29 +00:00
Reg2Mem.cpp
SampleProfile.cpp
Scalar.cpp
Scalarizer.cpp Fixing the build failure due to compiler warnings and unnecessary disambiguation. 2014-10-15 23:11:35 +00:00
ScalarReplAggregates.cpp
SCCP.cpp
SeparateConstOffsetFromGEP.cpp
SimplifyCFGPass.cpp
Sink.cpp
SROA.cpp [SROA] Switch the common variable name for the 'AllocaSlices' class to 2014-10-16 21:11:55 +00:00
StructurizeCFG.cpp
TailRecursionElimination.cpp TRE: make TRE a bit more aggressive 2014-10-16 03:27:30 +00:00