llvm-6502/include/llvm/Analysis
Rafael Espindola 0513059726 Teach GVN to reason about edges dominating uses. This allows it to handle cases
where some fact lake a=b dominates a use in a phi, but doesn't dominate the
basic block itself.

This feature could also be implemented by splitting critical edges, but at least
with the current algorithm reasoning about the dominance directly is faster.

The time for running "opt -O2" in the testcase in pr10584 is 1.003 times slower
and on gcc as a single file it is 1.0007 times faster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162023 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16 15:09:43 +00:00
..
AliasAnalysis.h Move the capture analysis from MemoryDependencyAnalysis to a more general place 2012-05-14 20:35:04 +00:00
AliasSetTracker.h Make aliasesPointer and aliasesUnknownInst public members of AliasSet. 2012-02-10 15:52:37 +00:00
BlockFrequencyImpl.h Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
BlockFrequencyInfo.h
BranchProbabilityInfo.h Set the branch probability of branching to the 'normal' destination of an invoke 2012-08-15 12:22:35 +00:00
CallGraph.h
CaptureTracking.h
CFGPrinter.h Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012: 2012-03-08 07:06:20 +00:00
CodeMetrics.h A pile of long over-due refactorings here. There are some very, *very* 2012-05-04 00:58:03 +00:00
ConstantFolding.h Split the interesting bits of ConstantFoldLoadThroughGEPConstantExpr 2012-01-24 05:43:50 +00:00
ConstantsScanner.h
DominanceFrontier.h
DominatorInternals.h
Dominators.h Teach GVN to reason about edges dominating uses. This allows it to handle cases 2012-08-16 15:09:43 +00:00
DomPrinter.h
DOTGraphTraitsPass.h
FindUsedTypes.h
InlineCost.h A pile of long over-due refactorings here. There are some very, *very* 2012-05-04 00:58:03 +00:00
InstructionSimplify.h Refactor the interface to recursively simplifying instructions to be tad 2012-03-24 21:11:24 +00:00
Interval.h
IntervalIterator.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
IntervalPartition.h
IVUsers.h Cleanup IVUsers::addUsersIfInteresting. 2012-03-22 17:47:33 +00:00
LazyValueInfo.h
LibCallAliasAnalysis.h
LibCallSemantics.h
Lint.h
Loads.h enhance jump threading to preserve TBAA information when PRE'ing loads, 2012-03-13 18:07:41 +00:00
LoopDependenceAnalysis.h
LoopInfo.h Enable the new LoopInfo algorithm by default. 2012-06-26 04:11:38 +00:00
LoopInfoImpl.h Enable the new LoopInfo algorithm by default. 2012-06-26 04:11:38 +00:00
LoopIterator.h Allow for customized graph edge pruning in PostOrderIterator.h 2012-07-17 15:35:40 +00:00
LoopPass.h
MemoryBuiltins.h revert r160742: it's breaking CMake build 2012-07-25 18:49:28 +00:00
MemoryDependenceAnalysis.h Fix a documentation typo. 2012-08-13 15:29:53 +00:00
Passes.h
PathNumbering.h
PathProfileInfo.h
PHITransAddr.h
PostDominators.h
ProfileInfo.h Convert assert(0) to llvm_unreachable 2012-02-05 22:14:15 +00:00
ProfileInfoLoader.h Remove unused private member variables uncovered by the recent changes to clang's -Wunused-private-field. 2012-07-20 22:05:57 +00:00
ProfileInfoTypes.h
RegionInfo.h include/llvm/Analysis/RegionInfo.h: Appease msvc. 2012-08-02 14:44:01 +00:00
RegionIterator.h
RegionPass.h
RegionPrinter.h
ScalarEvolution.h Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. 2012-05-30 18:32:23 +00:00
ScalarEvolutionExpander.h LSR Fix: check SCEV expression safety before expansion. 2012-07-13 23:33:10 +00:00
ScalarEvolutionExpressions.h SCEVTraversal: Add a visited set. 2012-07-18 05:14:03 +00:00
ScalarEvolutionNormalization.h
SparsePropagation.h
Trace.h
ValueTracking.h Teach DeadStoreElimination to eliminate exit-block stores with phi addresses. 2012-05-10 18:57:38 +00:00
Verifier.h