If we can, lower the multiply part of a umulo/smulo call to a libcall
authorEric Christopher <echristo@apple.com>
Thu, 20 Jan 2011 00:29:24 +0000 (00:29 +0000)
committerEric Christopher <echristo@apple.com>
Thu, 20 Jan 2011 00:29:24 +0000 (00:29 +0000)
commit38a18261b97a0b7e0ed75b1c8edd81ec9bd01085
tree7da904975935f6e364699b89d18c34aef5a56416
parente449d1f189e8ed719fa42d3ec2216a9d8adb9852
If we can, lower the multiply part of a umulo/smulo call to a libcall
with an invalid type then split the result and perform the overflow check
normally.

Fixes the 32-bit parts of rdar://8622122 and rdar://8774702.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123864 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
test/CodeGen/ARM/umulo-32.ll [new file with mode: 0644]