[PATCH] D11146: [ValueTracking] Add support for floating-point minnum and maxnum

James Molloy james.molloy at arm.com
Tue Jul 14 05:24:46 PDT 2015


jmolloy updated this revision to Diff 29667.
jmolloy added a comment.

Updated diff:

1. Added extra checking to ensure we don't convert (0.0 <= -0.0 ? 0.0 : -0.0) to minnum, as we'll return the wrong value.
2. Switched the logic for which operand needs to be non-NaN for unordered and ordered comparisons - it turns out there are two mutually-incompatible implementations of this, one in the ARM backend and one in AArch64. It looks like AArch64 is correct; luckily both will be defunct in a few commits time!


Repository:
  rL LLVM

http://reviews.llvm.org/D11146

Files:
  include/llvm/Analysis/ValueTracking.h
  lib/Analysis/ValueTracking.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/Transforms/InstCombine/InstCombineCasts.cpp
  lib/Transforms/InstCombine/InstCombineSelect.cpp
  test/Transforms/InstCombine/minmax-fp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11146.29667.patch
Type: text/x-patch
Size: 15975 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150714/87cefacf/attachment.bin>


More information about the llvm-commits mailing list