1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 16:33:37 +01:00
llvm-mirror/include/llvm/Analysis
Chris Lattner dda5ca59e2 Switch GVN and memdep to use PHITransAddr, which correctly handles
phi translation of complex expressions like &A[i+1].  This has the
following benefits:

1. The phi translation logic is all contained in its own class with
   a strong interface and verification that it is self consistent.

2. The logic is more correct than before.  Previously, if intermediate
   expressions got PHI translated, we'd miss the update and scan for
   the wrong pointers in predecessor blocks.  @phi_trans2 is a testcase
   for this.

3. We have a lot less code in memdep.

We can handle phi translation across blocks of things like @phi_trans3,
which is pretty insane :).

This patch should fix the miscompiles of 255.vortex, and I tested it 
with a bootstrap of llvm-gcc, llvm-test and dejagnu of course.

llvm-svn: 90926
2009-12-09 01:59:31 +00:00
..
AliasAnalysis.h add a helper 2009-11-23 16:38:54 +00:00
AliasSetTracker.h Remove FreeInst. 2009-10-26 23:43:48 +00:00
CallGraph.h Reverting 85714, 85715, 85716, which are breaking the build 2009-11-01 16:42:53 +00:00
CaptureTracking.h Extend CaptureTracking to indicate when a value is never stored, even 2009-11-19 21:57:48 +00:00
CFGPrinter.h Remove ShortNames from getNodeLabel in DOTGraphTraits 2009-11-30 12:38:47 +00:00
ConstantFolding.h fix ConstantFoldCompareInstOperands to take the LHS/RHS as 2009-11-09 23:06:58 +00:00
ConstantsScanner.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
DebugInfo.h Revert 90858 90875 and 90805 for now. 2009-12-08 23:21:45 +00:00
DominatorInternals.h
Dominators.h Remove dead variable found by clang++. 2009-11-14 19:51:20 +00:00
DomPrinter.h add function passes for printing various dominator datastructures 2009-10-18 04:10:40 +00:00
FindUsedTypes.h
InlineCost.h Fix resetCachedCostInfo to reset all of the cost information, instead of 2009-10-13 23:36:36 +00:00
InstructionSimplify.h factor some logic out of instcombine into a new SimplifyAddInst method. 2009-11-27 17:42:22 +00:00
Interval.h
IntervalIterator.h eliminate all 80-col violations that I have introduced in my recent checkins (and some others more) 2009-08-27 23:44:33 +00:00
IntervalPartition.h
IVUsers.h - Teach LSR to avoid changing cmp iv stride if it will create an immediate that 2009-11-12 07:35:05 +00:00
LazyValueInfo.h disable copying, enforce some invariants. 2009-11-15 20:03:53 +00:00
LibCallAliasAnalysis.h Remove the AliasAnalysis::getMustAliases method, which is dead. 2009-11-22 16:01:44 +00:00
LibCallSemantics.h
LiveValues.h remove redundant foward declaration. This function is already in 2009-11-11 00:21:21 +00:00
LoopDependenceAnalysis.h fixed some typos in method comments, reworded some comments for clarity 2009-12-07 09:06:37 +00:00
LoopInfo.h Make Loop::getLoopLatch() work on loops which don't have preheaders, as 2009-11-20 20:51:18 +00:00
LoopPass.h fixed some typos in method comments, reworded some comments for clarity 2009-12-07 09:06:37 +00:00
MemoryBuiltins.h Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size 2009-11-10 08:32:25 +00:00
MemoryDependenceAnalysis.h Switch GVN and memdep to use PHITransAddr, which correctly handles 2009-12-09 01:59:31 +00:00
Passes.h Use ProfileInfo-API in ProfileInfo Loader and do more assertions. 2009-12-03 11:00:37 +00:00
PHITransAddr.h fix many input tracking bugs. 2009-12-09 00:56:14 +00:00
PointerTracking.h
PostDominators.h Small PostDominatorTree improvements 2009-11-30 12:06:37 +00:00
ProfileInfo.h Converted ProfileInfo to template, added more API for ProfileInfo-preserving. 2009-12-03 09:30:12 +00:00
ProfileInfoLoader.h Reapplied r81355 with the problems fixed. 2009-09-16 11:35:50 +00:00
ProfileInfoTypes.h OptimalEdgeProfiling: Creation of profiles. 2009-09-01 19:03:44 +00:00
ScalarEvolution.h Rename forgetLoopBackedgeTakenCount to forgetLoop, because it 2009-10-31 15:04:55 +00:00
ScalarEvolutionExpander.h remove some more Context arguments. 2009-11-06 05:59:53 +00:00
ScalarEvolutionExpressions.h Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions. 2009-10-09 00:10:36 +00:00
SparsePropagation.h Fix DenseMap iterator constness. 2009-11-10 01:02:17 +00:00
Trace.h
ValueTracking.h Implement PR1143 (at -m64) by making basicaa look through extensions. We 2009-11-26 18:53:33 +00:00
Verifier.h