1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/include/llvm/Analysis
Chris Lattner 7d444d0682 Rewrite the main DSE loop to be written in terms of reasoning
about pairs of AA::Location's instead of looking for MemDep's
"Def" predicate.  This is more powerful and general, handling
memset/memcpy/store all uniformly, and implementing PR8701 and
probably obsoleting parts of memcpyoptimizer.

This also fixes an obscure bug with init.trampoline and i8
stores, but I'm not surprised it hasn't been hit yet.  Enhancing
init.trampoline to carry the size that it stores would allow
DSE to be much more aggressive about optimizing them.

llvm-svn: 120406
2010-11-30 07:23:21 +00:00
..
AliasAnalysis.h death to extraneous \n's. 2010-11-30 07:20:51 +00:00
AliasSetTracker.h Reapply r116831 and r116839, converting AliasAnalysis to use 2010-10-19 22:54:46 +00:00
CallGraph.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CaptureTracking.h 80-columns 2010-07-13 05:50:08 +00:00
CFGPrinter.h Remove tab characters and 80-col. 2010-07-12 05:26:37 +00:00
CodeMetrics.h Start separating out code metrics into code size metrics and code performance metrics. Partial Specialization will apply the former to function specializations, and the latter to all callsites that can use a specialization, in order to decide whether to create a specialization 2010-10-08 13:57:31 +00:00
ConstantFolding.h Clarify that constant folding of instructions applies when all operands 2010-11-23 10:16:18 +00:00
ConstantsScanner.h
DebugInfo.h Take care of special characters while creating named MDNode name to hold function specific local variable's info. 2010-11-10 22:19:21 +00:00
DIBuilder.h Merge System into Support. 2010-11-29 18:16:10 +00:00
DominatorInternals.h Optimize a common case in the Lengauer-Tarjan dominators algorithm. This gives a 2010-11-23 06:32:37 +00:00
Dominators.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
DomPrinter.h add function passes for printing various dominator datastructures 2009-10-18 04:10:40 +00:00
DOTGraphTraitsPass.h Remove WriteGraph's Name argument, which it didn't use, and 2010-09-27 15:34:19 +00:00
FindUsedTypes.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
InlineCost.h Now using a variant of the existing inlining heuristics to decide whether to create a given specialization of a function in PartialSpecialization. If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization. 2010-10-09 22:06:36 +00:00
InstructionSimplify.h Expand a little on the description of what InstructionSimplify does. 2010-11-23 10:50:08 +00:00
Interval.h
IntervalIterator.h Use std::vector rather than SmallVector here because SmallVector 2010-07-08 13:06:08 +00:00
IntervalPartition.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
IVUsers.h Revert 112442 and 112440 until the compile time problems introduced 2010-09-01 01:45:53 +00:00
LazyValueInfo.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LibCallAliasAnalysis.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LibCallSemantics.h Remove the experimental AliasAnalysis::getDependency interface, which 2010-09-14 21:25:10 +00:00
Lint.h Fix Lint printing warnings multiple times. Remove the ErrorStr 2010-05-26 22:28:53 +00:00
LiveValues.h remove redundant foward declaration. This function is already in 2009-11-11 00:21:21 +00:00
Loads.h Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of 2010-05-28 16:19:17 +00:00
LoopDependenceAnalysis.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
LoopInfo.h Simplify, no functionality change. 2010-11-19 08:33:20 +00:00
LoopPass.h Make LoopPass::getContainedPass return a LoopPass* instead of a Pass* 2010-08-11 20:34:43 +00:00
MemoryBuiltins.h clean up handling of 'free', detangling it from everything else. 2010-11-30 01:28:33 +00:00
MemoryDependenceAnalysis.h Rewrite the main DSE loop to be written in terms of reasoning 2010-11-30 07:23:21 +00:00
Passes.h Move NoAA out of BasicAliasAnalysis.cpp into its own file, now that 2010-10-19 23:09:08 +00:00
PHITransAddr.h Reapply r97010, the speculative revert failed. 2010-02-24 08:48:04 +00:00
PostDominators.h Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
ProfileInfo.h Convert debug messages to use dbgs(). Generally this means 2009-12-23 17:55:11 +00:00
ProfileInfoLoader.h
ProfileInfoTypes.h
RegionInfo.h Remove noisy semicolon. 2010-10-13 15:55:12 +00:00
RegionIterator.h Add new RegionInfo pass. 2010-07-22 07:46:31 +00:00
RegionPass.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
RegionPrinter.h Add new RegionInfo pass. 2010-07-22 07:46:31 +00:00
ScalarEvolution.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ScalarEvolutionExpander.h Introduce memoization for ScalarEvolution dominates and properlyDominates 2010-11-18 00:34:22 +00:00
ScalarEvolutionExpressions.h Make SCEV::getType() and SCEV::print non-virtual. Move SCEV::hasOperand 2010-11-17 22:27:42 +00:00
ScalarEvolutionNormalization.h Generalize IVUsers to track arbitrary expressions rather than expressions 2010-04-07 22:27:08 +00:00
SparsePropagation.h Eliminate unnecessary LLVMContexts. 2009-12-18 23:42:08 +00:00
Trace.h
ValueTracking.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Verifier.h Fix a comment. 2010-04-08 17:41:04 +00:00