diff options
author | Dan Gohman <gohman@apple.com> | 2010-02-24 06:52:40 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-02-24 06:52:40 +0000 |
commit | e832693acbfc713bcaf44720efa8149e93a38027 (patch) | |
tree | e44715f6b93875ca5ab04613a97111de6329d7e3 /include/llvm/CodeGen/SelectionDAG.h | |
parent | 39516a632385cb8103c94fceb6cfed13897a24b4 (diff) | |
download | external_llvm-e832693acbfc713bcaf44720efa8149e93a38027.zip external_llvm-e832693acbfc713bcaf44720efa8149e93a38027.tar.gz external_llvm-e832693acbfc713bcaf44720efa8149e93a38027.tar.bz2 |
When forming SSE min and max nodes for UGE and ULE comparisons, it's
necessary to swap the operands to handle NaN and negative zero properly.
Also, reintroduce logic for checking for NaN conditions when forming
SSE min and max instructions, fixed to take into consideration NaNs and
negative zeros. This allows forming min and max instructions in more
cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97025 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAG.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAG.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h index e628603..09651e6 100644 --- a/include/llvm/CodeGen/SelectionDAG.h +++ b/include/llvm/CodeGen/SelectionDAG.h @@ -898,6 +898,15 @@ public: /// isKnownNeverNan - Test whether the given SDValue is known to never be NaN. bool isKnownNeverNaN(SDValue Op) const; + /// isKnownNeverZero - Test whether the given SDValue is known to never be + /// positive or negative Zero. + bool isKnownNeverZero(SDValue Op) const; + + /// isEqualTo - Test whether two SDValues are known to compare equal. This + /// is true if they are the same value, or if one is negative zero and the + /// other positive zero. + bool isEqualTo(SDValue A, SDValue B) const; + /// isVerifiedDebugInfoDesc - Returns true if the specified SDValue has /// been verified as a debug information descriptor. bool isVerifiedDebugInfoDesc(SDValue Op) const; |