llvm-6502/lib/Transforms/Scalar
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
..
ADCE.cpp Remove the ability for ADCE to remove unreachable blocks in loop nests, because, as Eli pointed out, SimplifyCFG already does this. 2008-07-03 17:21:41 +00:00
BasicBlockPlacement.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
CodeGenPrepare.cpp Rename SDOperand to SDValue. 2008-07-27 21:46:04 +00:00
CondPropagate.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
ConstantProp.cpp Fix comment typos. 2008-08-01 12:23:49 +00:00
DCE.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
DeadStoreElimination.cpp Don't remove volatile loads. Thanks to Duncan for noticing this one. 2008-07-28 20:52:42 +00:00
GCSE.cpp Use Instruction::eraseFromParent(). 2008-06-21 22:08:46 +00:00
GVN.cpp Supress a gcc-4.3 warning. 2008-07-18 21:06:02 +00:00
GVNPRE.cpp Update comments and documentation to reflect that GCSE and ValueNumbering are 2008-06-05 07:55:49 +00:00
IndVarSimplify.cpp Pass the computed iteration count value to RewriteLoopExitValues 2008-08-05 22:34:21 +00:00
InstructionCombining.cpp Fix a bogus srem rule - a negative value srem'd by a power-of-2 2008-08-13 23:12:35 +00:00
JumpThreading.cpp Enable first-class aggregates support. 2008-07-23 00:34:11 +00:00
LICM.cpp Put the LICM of constant GlobalVariables, introduced in r53945, under a 2008-07-24 23:57:25 +00:00
LoopDeletion.cpp Use use_empty() instead of getNumUses(), avoiding a use list traversal. 2008-06-23 23:23:49 +00:00
LoopIndexSplit.cpp If loop induction variable's start value is less then its exit value then do not split the loop. 2008-07-09 00:12:01 +00:00
LoopRotation.cpp Enable first-class aggregates support. 2008-07-23 00:34:11 +00:00
LoopStrengthReduce.cpp Rename. s/FindIVForUser/FindIVUserForCond/g 2008-08-13 20:31:11 +00:00
LoopUnroll.cpp Add -unroll-allow-partial command line option that enabled the loop unroller to 2008-07-29 13:21:23 +00:00
LoopUnswitch.cpp Do not try to update dominator info while manipulating CFG. This code does not handle all cases and keeps invalid dom info around some cases, which misleads other passes down stream. 2008-07-03 17:37:52 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
MemCpyOptimizer.cpp Fix two issues that Eli Friedman pointed out, where would misoptimized code like: 2008-06-01 22:26:26 +00:00
PredicateSimplifier.cpp InequalityGraph::node() can create new nodes, invalidating iterators across 2008-05-27 00:59:05 +00:00
Reassociate.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Reg2Mem.cpp API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.) 2008-05-16 19:29:10 +00:00
Scalar.cpp C and Objective Caml bindings for mem2reg and reg2mem. 2008-03-20 17:16:03 +00:00
ScalarReplAggregates.cpp minor tidying of comments. 2008-06-23 17:11:23 +00:00
SCCP.cpp Fix SCCP's handling of struct value loads and stores. SCCP doesn't 2008-08-13 21:22:48 +00:00
SimplifyCFGPass.cpp rename SimplifyCFG.cpp -> SimplifyCFGPass.cpp 2008-05-14 20:38:44 +00:00
SimplifyLibCalls.cpp Have IRBuilder take a template argument on whether or not to preserve 2008-08-08 19:39:37 +00:00
TailDuplication.cpp Revert 52223. 2008-06-12 20:55:39 +00:00
TailRecursionElimination.cpp Fix a case where tailcallelim wouldn't set the changed bit when it made a change. 2008-06-14 00:49:48 +00:00