llvm-project/llvm/lib/Transforms/Scalar
Chris Lattner 0c0b38bb4c Do NOT touch FP ops with LSR. This fixes a testcase Nate sent me from an
inner loop like this:

LBB_RateConvertMono8AltiVec_2:  ; no_exit
        lis r2, ha16(.CPI_RateConvertMono8AltiVec_0)
        lfs f3, lo16(.CPI_RateConvertMono8AltiVec_0)(r2)
        fmr f3, f3
        fadd f0, f2, f0
        fadd f3, f0, f3
        fcmpu cr0, f3, f1
        bge cr0, LBB_RateConvertMono8AltiVec_2  ; no_exit

to an inner loop like this:

LBB_RateConvertMono8AltiVec_1:  ; no_exit
        fsub f2, f2, f1
        fcmpu cr0, f2, f1
        fmr f0, f2
        bge cr0, LBB_RateConvertMono8AltiVec_1  ; no_exit

Doh! good catch!

llvm-svn: 23838
2005-10-20 04:47:10 +00:00
..
ADCE.cpp preserve calling conventions when hacking on code 2005-05-14 12:25:32 +00:00
BasicBlockPlacement.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CondPropagate.cpp Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into 2005-08-04 23:24:19 +00:00
ConstantProp.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
CorrelatedExprs.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
DCE.cpp clean up and modernize this pass. 2005-05-08 18:45:26 +00:00
DeadStoreElimination.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
GCSE.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
IndVarSimplify.cpp Allow indvar simplify to canonicalize ANY affine IV, not just affine IVs with 2005-08-10 01:12:06 +00:00
InstructionCombining.cpp Make this work for FP constantexprs 2005-10-17 20:18:38 +00:00
LICM.cpp prevent va_arg from being hoisted from a loop 2005-06-20 13:36:33 +00:00
LoopSimplify.cpp remove dead code. The exit block list is computed on demand, thus does not 2005-08-13 01:30:36 +00:00
LoopStrengthReduce.cpp Do NOT touch FP ops with LSR. This fixes a testcase Nate sent me from an 2005-10-20 04:47:10 +00:00
LoopUnroll.cpp Eliminate tabs and trailing spaces 2005-04-23 21:38:35 +00:00
LoopUnswitch.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerAllocations.cpp Preserve tail marker 2005-05-06 06:48:21 +00:00
LowerConstantExprs.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerGC.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerInvoke.cpp Fix VC++ warnings. 2005-10-01 03:57:14 +00:00
LowerPacked.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerSelect.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerSwitch.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
Mem2Reg.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
PRE.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Reassociate.cpp Fix a problem that Dan Berlin noticed, where reassociation would not succeed 2005-09-02 07:07:58 +00:00
SCCP.cpp Eliminate GetGEPGlobalInitializer in favor of the more powerful 2005-09-26 05:28:52 +00:00
ScalarReplAggregates.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
SimplifyCFG.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
TailDuplication.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
TailRecursionElimination.cpp Use the new 'moveBefore' method to simplify some code. Really, which is 2005-08-08 19:11:57 +00:00