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

James Molloy james.molloy at arm.com
Mon Jul 13 08:27:01 PDT 2015


jmolloy created this revision.
jmolloy added a reviewer: hfinkel.
jmolloy added a subscriber: llvm-commits.
jmolloy set the repository for this revision to rL LLVM.

The select pattern recognition in ValueTracking (as used by InstCombine
and SelectionDAGBuilder) only knew about integer patterns. This teaches
it about minimum and maximum operations.

The semantics of the patterns it matches match the C99 minnum/maxnum
operations; namely that when presented with two operands one of which
being a QNaN, the non-QNaN operand is returned.

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.29572.patch
Type: text/x-patch
Size: 14203 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150713/1b60347f/attachment.bin>


More information about the llvm-commits mailing list