Add a getNUWMul function.
authorDan Gohman <gohman@apple.com>
Mon, 1 Feb 2010 16:38:14 +0000 (16:38 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 1 Feb 2010 16:38:14 +0000 (16:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94982 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Constants.h
lib/VMCore/Constants.cpp

index 4111f36c5f05031c7a196fae62afd24386597746..4b356067998d842c13fe7d01724760a1eb1ddf53 100644 (file)
@@ -699,6 +699,7 @@ public:
   static Constant *getNSWNeg(Constant *C);
   static Constant *getNSWAdd(Constant *C1, Constant *C2);
   static Constant *getNSWSub(Constant *C1, Constant *C2);
+  static Constant *getNUWMul(Constant *C1, Constant *C2);
   static Constant *getNSWMul(Constant *C1, Constant *C2);
   static Constant *getExactSDiv(Constant *C1, Constant *C2);
 
index b1c942c214f4046a99e482aef3199f7f9d070aee..ad654ee79682aa6542b1b4899ae32e242cb27e6d 100644 (file)
@@ -656,6 +656,11 @@ Constant* ConstantExpr::getNSWSub(Constant* C1, Constant* C2) {
                OverflowingBinaryOperator::NoSignedWrap);
 }
 
+Constant* ConstantExpr::getNUWMul(Constant* C1, Constant* C2) {
+  return getTy(C1->getType(), Instruction::Mul, C1, C2,
+               OverflowingBinaryOperator::NoUnsignedWrap);
+}
+
 Constant* ConstantExpr::getNSWMul(Constant* C1, Constant* C2) {
   return getTy(C1->getType(), Instruction::Mul, C1, C2,
                OverflowingBinaryOperator::NoSignedWrap);