llvm-6502/test/Transforms
Jim Grosbach cbf676b3ba float comparison to double 'zero' constant can just be a float 'zero.'
InstCombine was incorrectly considering the conversion of the constant
zero to be unsafe.

We want to transform:
define float @bar(float %x) nounwind readnone optsize ssp {
  %conv = fpext float %x to double
  %cmp = fcmp olt double %conv, 0.000000e+00
  %conv1 = zext i1 %cmp to i32
  %conv2 = sitofp i32 %conv1 to float
  ret float %conv2
}

Into:
define float @bar(float %x) nounwind readnone optsize ssp {
  %cmp = fcmp olt float %x, 0.000000e+00   ; <---- This
  %conv1 = zext i1 %cmp to i32
  %conv2 = sitofp i32 %conv1 to float
  ret float %conv2
}


rdar://10215914


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140869 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 18:45:50 +00:00
..
ADCE
ArgumentPromotion
BlockPlacement
BranchFolding
CodeExtractor Update this test to the new EH model. 2011-09-20 22:29:43 +00:00
CodeGenPrepare
ConstantMerge
ConstProp
CorrelatedValuePropagation
DeadArgElim
DeadStoreElimination
EarlyCSE
FunctionAttrs
GlobalDCE
GlobalOpt
GVN
IndVarSimplify Test case for r140670: indvars should hoist sext. 2011-09-28 02:13:32 +00:00
Inline Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
InstCombine float comparison to double 'zero' constant can just be a float 'zero.' 2011-09-30 18:45:50 +00:00
InstSimplify
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM
LoopDeletion
LoopIdiom Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
LoopRotate
LoopSimplify Update to the new EH syntax. 2011-09-19 23:50:34 +00:00
LoopStrengthReduce Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
LoopUnroll
LoopUnswitch Split the landing pad basic block with the correct function. Also merge the 2011-09-27 00:59:31 +00:00
LowerAtomic Convert more tests over to the new atomic instructions. 2011-09-26 20:27:49 +00:00
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
ObjCARC When eliminating unnecessary retain+autorelease on return values, 2011-09-29 22:27:34 +00:00
PhaseOrdering
PruneEH
Reassociate
ScalarRepl Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
SCCP Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later. 2011-09-20 23:28:51 +00:00
SimplifyCFG Replace more uses of 'unwind' in the tests with calls to landingpad and 2011-09-19 22:11:35 +00:00
SimplifyLibCalls Stop emitting instructions with the name "tmp" they eat up memory and have to be uniqued, without any benefit. 2011-09-27 20:39:19 +00:00
Sink
StripSymbols
TailCallElim Replace uses of unwind with unreachable for the same effect. 2011-09-19 22:16:15 +00:00
TailDup