1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib/Analysis
Eli Friedman 81169f2e1b Fix for PR2607: SCEV miscomputing the loop count for loops with an
SGT exit condition.  Essentially, the correct way to flip an inequality 
in 2's complement is the not operator, not the negation operator.  
That said, the difference only affects cases involving INT_MIN.

Also, enhance the pre-test search logic to be a bit smarter about 
inequalities flipped with a not operator, so it can eliminate the smax 
from the iteration count for simple loops.

llvm-svn: 54184
2008-07-30 00:04:08 +00:00
..
IPA Replace two manual loops with calls to CallSite::hasArguments (no functional changes). 2008-06-04 16:57:50 +00:00
AliasAnalysis.cpp Fix a copy+paste error in a comment. 2008-05-30 00:02:02 +00:00
AliasAnalysisCounter.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
AliasAnalysisEvaluator.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
AliasDebugger.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
AliasSetTracker.cpp Free and vaarg are not really volatile. 2008-05-22 03:23:06 +00:00
Analysis.cpp Expose Function::viewCFG and Function::viewCFGOnly to bindings. 2008-03-31 16:22:09 +00:00
BasicAliasAnalysis.cpp simplify some code by using a helper function. This really really 2008-06-16 06:38:26 +00:00
CFGPrinter.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ConstantFolding.cpp Fix minor issues with VICmp/VFCmp constant expressions 2008-07-25 17:35:37 +00:00
InstCount.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
Interval.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
IntervalPartition.cpp fix warning when assertions disabled. 2008-06-21 19:48:22 +00:00
LibCallAliasAnalysis.cpp Expose a public interface to this pass. 2008-06-05 23:45:18 +00:00
LibCallSemantics.cpp Add a new interface for describing the behavior of library calls. This 2008-05-07 18:21:13 +00:00
LoadValueNumbering.cpp Use find instead of lower_bound. 2008-07-11 20:58:19 +00:00
LoopInfo.cpp Remove uses of llvm/System/IncludeFile.h that are no longer needed. 2008-05-06 01:32:53 +00:00
LoopPass.cpp Fix spelling of "hierarchy" in comments. 2008-07-11 22:51:32 +00:00
LoopVR.cpp Add a value range analysis that lazily computes ranges using ScalarEvolutions. 2008-06-30 00:04:21 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemoryDependenceAnalysis.cpp Fix a subtle bug when removing instructions from memdep. In very specific 2008-07-28 16:00:58 +00:00
PostDominators.cpp Add newline at end of file. 2008-05-29 21:05:16 +00:00
ProfileInfo.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ProfileInfoLoader.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ProfileInfoLoaderPass.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ScalarEvolution.cpp Fix for PR2607: SCEV miscomputing the loop count for loops with an 2008-07-30 00:04:08 +00:00
ScalarEvolutionExpander.cpp Expand SCEVUDiv of power of 2 to a lshr instruction. 2008-07-08 05:05:37 +00:00
SparsePropagation.cpp Use Function::getEntryBlock instead of Function::begin, for clarity. 2008-05-27 20:55:29 +00:00
Trace.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ValueNumbering.cpp Update comments and documentation to reflect that GCSE and ValueNumbering are 2008-06-05 07:55:49 +00:00
ValueTracking.cpp Don't use ++idx_begin when I actually mean idx_begin + 1, especially since we 2008-07-16 10:47:35 +00:00