[PATCH] D11146: [ValueTracking] Add support for floating-point minnum and maxnum
James Molloy
james.molloy at arm.com
Fri Jul 17 00:53:27 PDT 2015
jmolloy updated this revision to Diff 29980.
jmolloy added a comment.
Hi Matt,
Agreed. Comments updated.
I've kept the conservative behaviour of bailing out when one input may be a signed zero (and nsz is not set) for the moment.
If you think it's worth being more aggressive in that case, We'll need to add another field to SelectPatternResult modelling the behavior with signed zeroes (ARM's minnum instruction would return -0.0; I have no idea what yours might do). But I suspect there aren't enough cases to justify this extra modelling, not at the moment anyway.
James
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
lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
test/Transforms/InstCombine/minmax-fp.ll
unittests/Analysis/CMakeLists.txt
unittests/Analysis/ValueTrackingTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11146.29980.patch
Type: text/x-patch
Size: 27008 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150717/24bf5bac/attachment.bin>
More information about the llvm-commits
mailing list