aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/LegalizeTypes.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-01-20 08:54:28 +0000
committerEric Christopher <echristo@apple.com>2011-01-20 08:54:28 +0000
commit02050986d96d1880ec3015cb97c41d1dbad865d6 (patch)
treebb1ed13e30fd7b8baf8919ce26d4bdc291c0eb97 /lib/CodeGen/SelectionDAG/LegalizeTypes.h
parent907276dc4439c04d675fbcdb121cbede7a99ff9d (diff)
downloadexternal_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.h1
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);