llvm/lib/Analysis
Dan Gohman a60832b018 Fix a bogus srem rule - a negative value srem'd by a power-of-2
can have a non-negative result; for example, -16%16 is 0. Also,
clarify the related comments. This fixes PR2670.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54767 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-13 23:12:35 +00:00
..
IPA Don't call getAnalysisUsage unless -debug-pass is enabled. This speeds 2008-08-08 15:14:09 +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 Teach constant folding that an inttoptr of a 2008-08-13 20:20:35 +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 Don't call getAnalysisUsage unless -debug-pass is enabled. This speeds 2008-08-08 15:14:09 +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 Extend ScalarEvolution's executesAtLeastOnce logic to be able to 2008-08-12 20:17:31 +00:00
ScalarEvolutionExpander.cpp Expand SCEVUDiv of power of 2 to a lshr instruction. 2008-07-08 05:05:37 +00:00
SparsePropagation.cpp "This patch adds a virtual call to AbstractLatticeFunction to derive a 2008-08-09 17:23:35 +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 Fix a bogus srem rule - a negative value srem'd by a power-of-2 2008-08-13 23:12:35 +00:00