llvm-6502/test/Transforms
Ahmed Bougacha 7349765ddb [MemCpyOpt] Optimize double-storing by memset+memcpy.
A common idiom in some code is to do the following:

  memset(dst, 0, dst_size);
  memcpy(dst, src, src_size);

Some of the memset is redundant; instead, we can do:

  memcpy(dst, src, src_size);
  memset(dst + src_size, 0,
         dst_size <= src_size ? 0 : dst_size - src_size);

Original patch by: Joel Jones
Differential Revision: http://reviews.llvm.org/D498


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235232 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-17 22:20:57 +00:00
..
ADCE
AddDiscriminators
AlignmentFromAssumptions
ArgumentPromotion [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
AtomicExpand/ARM
BBVectorize
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
ConstantHoisting [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
DeadStoreElimination DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
EarlyCSE
Float2Int Reapply r233175 and r233183: float2int. 2015-03-27 10:36:57 +00:00
FunctionAttrs [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GCOVProfiling [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GlobalDCE [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GlobalOpt [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
GVN [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
IndVarSimplify [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Inline [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
InstCombine [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
InstMerge
InstSimplify [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Internalize
IPConstantProp
IRCE [IRCE] Fix a regression introduced in r232444. 2015-03-24 19:29:18 +00:00
JumpThreading [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LCSSA
LICM [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoadCombine
LoopDeletion
LoopIdiom DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
LoopInterchange [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoopReroll
LoopRotate [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoopSimplify Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LoopStrengthReduce [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoopUnroll [LoopUnrollRuntime] Avoid high-cost trip count computation. 2015-04-14 03:20:38 +00:00
LoopUnswitch [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LoopVectorize DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
LowerAtomic
LowerBitSets
LowerExpectIntrinsic [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
LowerInvoke Verifier: Call verifyModule() from llc and opt 2015-03-27 22:04:28 +00:00
LowerSwitch
Mem2Reg DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
MemCpyOpt [MemCpyOpt] Optimize double-storing by memset+memcpy. 2015-04-17 22:20:57 +00:00
MergeFunc
MetaRenamer
NaryReassociate [NaryReassociate] run NaryReassociate iteratively 2015-04-17 00:25:10 +00:00
ObjCARC [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PartiallyInlineLibCalls
PhaseOrdering [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PlaceSafepoints [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
PruneEH
Reassociate [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Reg2Mem
RewriteStatepointsForGC [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SampleProfile [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Scalarizer DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
ScalarRepl [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SCCP [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Sink
SLPVectorizer [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
SROA [ConstantFold] Don't fold ppc_fp128 <-> int bitcasts 2015-03-28 16:44:57 +00:00
StraightLineStrengthReduce [NFC] [SLSR] clean up some tests 2015-04-15 17:14:03 +00:00
StripSymbols DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
StructurizeCFG
TailCallElim
TailDup [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
Util