llvm-6502/test/Transforms
Dan Gohman 81b28ceab6 Improve instcombine's handling of integer min and max in two ways:
- Recognize expressions like "x > -1 ? x : 0" as min/max and turn them
   into expressions like "x < 0 ? 0 : x", which is easily recognizable
   as a min/max operation.
 - Refrain from folding expression like "y/2 < 1" to "y < 2" when the
   comparison is being used as part of a min or max idiom, like
   "y/2 < 1 ? 1 : y/2". In that case, the division has another use, so
   folding doesn't eliminate it, and obfuscates the min/max, making it
   harder to recognize as a min/max operation.

These benefit ScalarEvolution, CodeGen, and anything else that wants to
recognize integer min and max.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56246 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16 18:46:06 +00:00
..
ADCE
ArgumentPromotion Update the callgraph correctly in ArgumentPromotion. 2008-09-08 11:07:35 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CondProp
ConstantMerge
ConstProp
DeadArgElim
DeadStoreElimination
GlobalDCE
GlobalOpt Resolve aliases, when possible 2008-09-09 19:04:59 +00:00
GVN
GVNPRE
IndVarsSimplify if loop induction variable is always sign or zero extended then 2008-09-09 21:41:07 +00:00
Inline respect inline=never and inline=always notes. 2008-09-02 22:16:13 +00:00
InstCombine Improve instcombine's handling of integer min and max in two ways: 2008-09-16 18:46:06 +00:00
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM Remove GCSE and LoadVN from the testsuite. 2008-08-16 00:00:54 +00:00
LoopDeletion
LoopIndexSplit
LoopRotate
LoopSimplify
LoopStrengthReduce Remove. 2008-09-09 21:41:34 +00:00
LoopUnroll
LoopUnswitch
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt
PredicateSimplifier
PruneEH When PruneEH turned an invoke into an ordinary 2008-09-06 17:19:29 +00:00
RaiseAllocations
Reassociate Remove GCSE and LoadVN from the testsuite. 2008-08-16 00:00:54 +00:00
ScalarRepl Fix PR2423 by checking all indices for out of range access, not only 2008-08-23 05:21:06 +00:00
SCCP Fix SCCP's handling of struct value loads and stores. SCCP doesn't 2008-08-13 21:22:48 +00:00
SimplifyCFG Fix simplifycfg crash in handing block merge. 2008-09-09 01:06:56 +00:00
SimplifyLibCalls
SRETPromotion Add a basic test for the SRETPromotion pass. 2008-08-07 15:55:18 +00:00
StripSymbols
TailCallElim
TailDup