mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
39139cb634
This patch does an inline expansion of memcmp. It changes the memcmp library call into an inline expansion when the size is known at compile time and is under a target specified threshold. This expansion is implemented in CodeGenPrepare and expands into straight line code. The target specifies a maximum load size and the expansion works by using this size to load the two sources, compare, and exit early if a difference is found. It also has a special case when the memcmp result is used in a compare to zero equality. Differential Revision: https://reviews.llvm.org/D28637 llvm-svn: 304313 |
||
---|---|---|
.. | ||
AliasAnalysis.h | ||
AliasAnalysisEvaluator.h | ||
AliasSetTracker.h | ||
AssumptionCache.h | ||
BasicAliasAnalysis.h | ||
BlockFrequencyInfo.h | ||
BlockFrequencyInfoImpl.h | ||
BranchProbabilityInfo.h | ||
CallGraph.h | ||
CallGraphSCCPass.h | ||
CallPrinter.h | ||
CaptureTracking.h | ||
CFG.h | ||
CFGPrinter.h | ||
CFLAndersAliasAnalysis.h | ||
CFLSteensAliasAnalysis.h | ||
CGSCCPassManager.h | ||
CodeMetrics.h | ||
ConstantFolding.h | ||
DemandedBits.h | ||
DependenceAnalysis.h | ||
DivergenceAnalysis.h | ||
DominanceFrontier.h | ||
DominanceFrontierImpl.h | ||
DomPrinter.h | ||
DOTGraphTraitsPass.h | ||
EHPersonalities.h | ||
GlobalsModRef.h | ||
IndirectCallPromotionAnalysis.h | ||
IndirectCallSiteVisitor.h | ||
InlineCost.h | ||
InstructionSimplify.h | ||
Interval.h | ||
IntervalIterator.h | ||
IntervalPartition.h | ||
IteratedDominanceFrontier.h | ||
IVUsers.h | ||
LazyBlockFrequencyInfo.h | ||
LazyBranchProbabilityInfo.h | ||
LazyCallGraph.h | ||
LazyValueInfo.h | ||
Lint.h | ||
Loads.h | ||
LoopAccessAnalysis.h | ||
LoopAnalysisManager.h | ||
LoopInfo.h | ||
LoopInfoImpl.h | ||
LoopIterator.h | ||
LoopPass.h | ||
LoopUnrollAnalyzer.h | ||
MemoryBuiltins.h | ||
MemoryDependenceAnalysis.h | ||
MemoryLocation.h | ||
MemorySSA.h | ||
MemorySSAUpdater.h | ||
ModuleSummaryAnalysis.h | ||
ObjCARCAliasAnalysis.h | ||
ObjCARCAnalysisUtils.h | ||
ObjCARCInstKind.h | ||
ObjectUtils.h | ||
OptimizationDiagnosticInfo.h | ||
OrderedBasicBlock.h | ||
Passes.h | ||
PHITransAddr.h | ||
PostDominators.h | ||
ProfileSummaryInfo.h | ||
PtrUseVisitor.h | ||
RegionInfo.h | ||
RegionInfoImpl.h | ||
RegionIterator.h | ||
RegionPass.h | ||
RegionPrinter.h | ||
ScalarEvolution.h | ||
ScalarEvolutionAliasAnalysis.h | ||
ScalarEvolutionExpander.h | ||
ScalarEvolutionExpressions.h | ||
ScalarEvolutionNormalization.h | ||
ScopedNoAliasAA.h | ||
SparsePropagation.h | ||
TargetFolder.h | ||
TargetLibraryInfo.def | ||
TargetLibraryInfo.h | ||
TargetTransformInfo.h | ||
TargetTransformInfoImpl.h | ||
Trace.h | ||
TypeBasedAliasAnalysis.h | ||
TypeMetadataUtils.h | ||
ValueTracking.h | ||
VectorUtils.h |