diff options
author | Eric Christopher <echristo@apple.com> | 2011-01-20 08:54:28 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-01-20 08:54:28 +0000 |
commit | 02050986d96d1880ec3015cb97c41d1dbad865d6 (patch) | |
tree | bb1ed13e30fd7b8baf8919ce26d4bdc291c0eb97 /lib/CodeGen/SelectionDAG/LegalizeTypes.h | |
parent | 907276dc4439c04d675fbcdb121cbede7a99ff9d (diff) | |
download | external_llvm-02050986d96d1880ec3015cb97c41d1dbad865d6.zip external_llvm-02050986d96d1880ec3015cb97c41d1dbad865d6.tar.gz external_llvm-02050986d96d1880ec3015cb97c41d1dbad865d6.tar.bz2 |
Expand invalid return values for umulo and smulo. Handle these similarly
to add/sub by doing the normal operation and then checking for overflow
afterwards. This generally relies on the DAG handling the later invalid
operations as well.
Fixes the 64-bit part of rdar://8622122 and rdar://8774702.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123908 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/LegalizeTypes.h')
-rw-r--r-- | lib/CodeGen/SelectionDAG/LegalizeTypes.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/lib/CodeGen/SelectionDAG/LegalizeTypes.h index ffc27bd..89a1d57 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/lib/CodeGen/SelectionDAG/LegalizeTypes.h @@ -348,6 +348,7 @@ private: void ExpandIntRes_SADDSUBO (SDNode *N, SDValue &Lo, SDValue &Hi); void ExpandIntRes_UADDSUBO (SDNode *N, SDValue &Lo, SDValue &Hi); + void ExpandIntRes_UMULSMULO (SDNode *N, SDValue &Lo, SDValue &Hi); void ExpandShiftByConstant(SDNode *N, unsigned Amt, SDValue &Lo, SDValue &Hi); |