SuccessChanges

Summary

  1. [CodeGen][SelectionDAG] Fix tiny bug in ExpandIntRes_UADDSUBO (details)
  2. [APInt] Add saturating multiply ops (details)
  3. [APInt] Add saturating left-shift ops (details)
Commit 59a51d84b3a4f96bcc9669ee9c2b2041175a2ccd by lebedev.ri
[CodeGen][SelectionDAG] Fix tiny bug in ExpandIntRes_UADDSUBO
Summary: Ternary expression checks for ISD::ADD instead of ISD::UADDO
inside DAGTypeLegalizer::ExpandIntRes_UADDSUBO. This means the ternary
expression will evaluate to ISD::SUBCARRY for both ISD::UADDO and
ISD::USUBO nodes. Targets are likely to implement both, so impact will
be very limited in practice.
Reviewers: bogner, lebedev.ri
Reviewed By: lebedev.ri
Subscribers: lebedev.ri, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68123
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit b2c184458e990c8faeffd5047e7086e4f7ff07a6 by lebedev.ri
[APInt] Add saturating multiply ops
Summary: There are `*_ov()` functions already, so at least for
consistency it may be good to also have saturating variants. These may
or may not be needed for `ConstantRange`'s `mulWithNoWrap()`
Reviewers: spatel, nikic
Reviewed By: nikic
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69397
The file was modifiedllvm/lib/Support/APInt.cpp
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
The file was modifiedllvm/include/llvm/ADT/APInt.h
Commit 1cc8e1e1d7d78fc3f2185c5ba207cd21f227fa1c by lebedev.ri
[APInt] Add saturating left-shift ops
Summary: There are `*_ov()` functions already, so at least for
consistency it may be good to also have saturating variants. These may
or may not be needed for `ConstantRange`'s `shlWithNoWrap()`
Reviewers: spatel, nikic
Reviewed By: nikic
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69398
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
The file was modifiedllvm/lib/Support/APInt.cpp
The file was modifiedllvm/include/llvm/ADT/APInt.h