mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
e46025656d
This patch folds fcmp in some cases of interest in Julia. The patch adds a function CannotBeOrderedLessThanZero that returns true if a value is provably not less than zero. I.e. the function returns true if the value is provably -0, +0, positive, or a NaN. The patch extends InstructionSimplify.cpp to fold instances of fcmp where: - the predicate is olt or uge - the first operand is provably not less than zero - the second operand is zero The motivation for handling these cases optimizing away domain checks for sqrt in Julia for common idioms such as sqrt(x*x+y*y).. http://reviews.llvm.org/D6972 llvm-svn: 227298 |
||
---|---|---|
.. | ||
2010-12-20-Boolean.ll | ||
2011-01-14-Thread.ll | ||
2011-02-01-Vector.ll | ||
2011-09-05-InsertExtractValue.ll | ||
2011-10-27-BinOpCrash.ll | ||
2011-11-23-MaskedBitsCrash.ll | ||
2013-04-19-ConstantFoldingCrash.ll | ||
AndOrXor.ll | ||
apint-or.ll | ||
assume.ll | ||
call-callconv.ll | ||
call.ll | ||
compare.ll | ||
dead-code-removal.ll | ||
exact-nsw-nuw.ll | ||
fast-math.ll | ||
fdiv.ll | ||
floating-point-arithmetic.ll | ||
floating-point-compare.ll | ||
fold-builtin-fma.ll | ||
gep.ll | ||
maxmin.ll | ||
noalias-ptr.ll | ||
past-the-end.ll | ||
phi.ll | ||
ptr_diff.ll | ||
reassociate.ll | ||
rem.ll | ||
select.ll | ||
shr-nop.ll | ||
undef.ll | ||
vector_gep.ll | ||
vector_ptr_bitcast.ll |