InstCombine: sub nsw %x, C -> add nsw %x, -C if C isn't INT_MIN

We can preserve nsw during this transform if -C won't overflow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216269 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Majnemer
2014-08-22 16:41:23 +00:00
parent 4ef54c3f85
commit 0e4fc41b0d
4 changed files with 38 additions and 1 deletions
+3
View File
@@ -69,6 +69,9 @@ public:
/// Return true if the value is negative zero or null value.
bool isZeroValue() const;
/// \brief Return true if the value is not the smallest signed value.
bool isNotMinSignedValue() const;
/// \brief Return true if the value is the smallest signed value.
bool isMinSignedValue() const;