llvm-6502/lib/Transforms/Scalar
Pete Cooper 2d32b86543 DeadStoreElimination can now trim the size of a store if the end of it is dead.
Only currently done if the later store is writing to a power of 2 address or 
has the same alignment as the earlier store as then its likely to not break up
large stores into smaller ones

Fixes <rdar://problem/10140300>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143630 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-03 18:01:56 +00:00
..
ADCE.cpp The landingpad instruction isn't dead simply because it's value isn't used. 2011-08-19 21:52:06 +00:00
BasicBlockPlacement.cpp
CMakeLists.txt Fix CMake build. 2011-10-17 17:50:39 +00:00
CodeGenPrepare.cpp Fold two identical set lookups into one. No functionality change. 2011-09-29 23:40:12 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp
DCE.cpp
DeadStoreElimination.cpp DeadStoreElimination can now trim the size of a store if the end of it is dead. 2011-11-03 18:01:56 +00:00
EarlyCSE.cpp Fix a couple hash functions so that they do not depend on undefined shifts. Based on patch by Ahmed Charles. 2011-10-12 22:00:26 +00:00
GlobalMerge.cpp svn mv Target/ARM/ARMGlobalMerge.cpp Transforms/Scalar/GlobalMerge.cpp 2011-10-17 17:17:43 +00:00
GVN.cpp Don't replace all dominated uses if there is only one use, since that 2011-10-15 11:13:42 +00:00
IndVarSimplify.cpp Rewrite LinearFunctionTestReplace to handle pointer-type IVs. 2011-11-02 17:19:57 +00:00
JumpThreading.cpp Change a bunch of isVolatile() checks to check for atomic load/store as well. 2011-09-12 20:23:13 +00:00
LICM.cpp Use 'getFirstInsertionPt' when trying to insert new instructions during LICM. 2011-08-18 23:42:36 +00:00
LoopDeletion.cpp Don't use PN->replaceUsesOfWith() to change a PHINode's incoming blocks, 2011-06-21 10:02:43 +00:00
LoopIdiomRecognize.cpp Correct grammar. 2011-09-13 00:44:16 +00:00
LoopInstSimplify.cpp
LoopRotation.cpp Make better use of the PHINode API. 2011-06-20 14:18:48 +00:00
LoopStrengthReduce.cpp Avoid undefined behavior in negation in LSR. Patch by Ahmed Charles. 2011-10-13 23:48:33 +00:00
LoopUnrollPass.cpp Initialze ScalarEvalution dependency. 2011-10-19 23:56:07 +00:00
LoopUnswitch.cpp Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
LowerAtomic.cpp Remove the old atomic instrinsics. autoupgrade functionality is included with this patch. 2011-10-06 23:20:49 +00:00
Makefile
MemCpyOptimizer.cpp When looking for dependencies on the src pointer, scan the src pointer. Scanning 2011-10-16 20:13:32 +00:00
ObjCARC.cpp Teach the ARC optimizer about the !clang.arc.copy_on_escape metadata 2011-10-17 22:53:25 +00:00
Reassociate.cpp Silence a bunch (but not all) "variable written but not read" warnings 2011-08-12 14:54:45 +00:00
Reg2Mem.cpp
Scalar.cpp Remove the old tail duplication pass. It is not used and is unable to update 2011-08-30 23:03:45 +00:00
ScalarReplAggregates.cpp The element insertion code in scalar replacement doesn't handle incorrect 2011-10-23 07:02:10 +00:00
SCCP.cpp Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later. 2011-09-20 23:28:51 +00:00
SimplifyCFGPass.cpp Convert CallInst and InvokeInst APIs to use ArrayRef. 2011-07-15 08:37:34 +00:00
SimplifyLibCalls.cpp SimplifyLibCalls: Use IRBuilder.CreateGlobalString when creating a string for printf->puts, which correctly sets the unnamed_addr bit on the resulting GlobalVariable. 2011-10-29 19:43:31 +00:00
Sink.cpp Fix an issue with the IR sink pass found by inspection. (I'm not sure anyone is actually using this, but might as well fix it since I found the issue.) 2011-09-01 21:21:24 +00:00
TailRecursionElimination.cpp Correct over-zealous removal of hack. 2011-10-17 18:43:40 +00:00