1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/include/llvm/Analysis
Chris Lattner bad294615e Enhance MemDep: When alias analysis returns a partial alias result,
return it as a clobber.  This allows GVN to do smart things.

Enhance GVN to be smart about the case when a small load is clobbered
by a larger overlapping load.  In this case, forward the value.  This
allows us to compile stuff like this:

int test(void *P) {
  int tmp = *(unsigned int*)P;
  return tmp+*((unsigned char*)P+1);
}

into:

_test:                                  ## @test
	movl	(%rdi), %ecx
	movzbl	%ch, %eax
	addl	%ecx, %eax
	ret

which has one load.  We already handled the case where the smaller
load was from a must-aliased base pointer.

llvm-svn: 130180
2011-04-26 01:21:15 +00:00
..
AliasAnalysis.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
AliasSetTracker.h PR9604; try to deal with RAUW updates correctly in the AST. I'm not convinced 2011-04-09 06:55:46 +00:00
CallGraph.h Add spliceFunction to the CallGraph interface. This allows users to efficiently 2011-01-03 03:19:35 +00:00
CaptureTracking.h
CFGPrinter.h Don't include Operator.h from InstrTypes.h. 2011-04-11 09:35:34 +00:00
CodeMetrics.h remove the partial specialization pass. It is unmaintained and has bugs. 2011-01-16 00:27:10 +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 Let front-end tie subprogram declaration with subprogram definition directly. 2011-04-22 23:10:17 +00:00
DIBuilder.h PR9214: Convert the DIBuilder API to use ArrayRef. 2011-04-24 10:11:03 +00:00
DominanceFrontier.h There is no point in verifying an analysis that is never updated. 2011-01-18 05:44:04 +00:00
DominatorInternals.h Convert a std::vector to a SmallVector for another 5.4% speedup on domtree. 2011-01-23 06:54:22 +00:00
Dominators.h In the simpler version of the link-eval data structure that we use in dominator 2011-01-23 06:16:06 +00:00
DomPrinter.h
DOTGraphTraitsPass.h
FindUsedTypes.h
InlineCost.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
InstructionSimplify.h Teach instsimplify some tricks about exact/nuw/nsw shifts. 2011-02-09 17:15:04 +00:00
Interval.h
IntervalIterator.h
IntervalPartition.h
IVUsers.h Avoid creating canonical induction variables for non-native types. 2011-03-18 16:50:32 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h
LibCallSemantics.h
Lint.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
Loads.h
LoopDependenceAnalysis.h
LoopInfo.h split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
LoopPass.h
MemoryBuiltins.h clean up handling of 'free', detangling it from everything else. 2010-11-30 01:28:33 +00:00
MemoryDependenceAnalysis.h Enhance MemDep: When alias analysis returns a partial alias result, 2011-04-26 01:21:15 +00:00
Passes.h Delete the LiveValues pass. I won't get get back to the project it 2011-02-28 19:37:59 +00:00
PathNumbering.h Implementation of path profiling. 2011-01-29 01:09:53 +00:00
PathProfileInfo.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
PHITransAddr.h
PostDominators.h remove postdom frontiers, because it is dead. Forward dom frontiers are 2011-04-05 21:57:17 +00:00
ProfileInfo.h
ProfileInfoLoader.h
ProfileInfoTypes.h This is #included by .c files. Remove C++-style comments. 2011-01-29 21:54:26 +00:00
RegionInfo.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionIterator.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionPass.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
RegionPrinter.h
ScalarEvolution.h Don't include Operator.h from InstrTypes.h. 2011-04-11 09:35:34 +00:00
ScalarEvolutionExpander.h Introduce memoization for ScalarEvolution dominates and properlyDominates 2010-11-18 00:34:22 +00:00
ScalarEvolutionExpressions.h Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrap 2011-03-14 16:50:06 +00:00
ScalarEvolutionNormalization.h
SparsePropagation.h
Trace.h
ValueTracking.h According to my auto-simplifier the most common missed simplifications in 2011-01-25 09:38:29 +00:00
Verifier.h