Analysis: Reformulate WillNotOverflowUnsignedMul for reusability
[oota-llvm.git] / lib / Transforms / InstCombine / InstCombine.h
index b4d1efc1a92680ae6d1ad604b6867f2638e9eba8..96edc793175debbc4752cc6a6c2a7a0260825ccd 100644 (file)
@@ -286,7 +286,6 @@ private:
   bool WillNotOverflowSignedSub(Value *LHS, Value *RHS, Instruction *CxtI);
   bool WillNotOverflowUnsignedSub(Value *LHS, Value *RHS, Instruction *CxtI);
   bool WillNotOverflowSignedMul(Value *LHS, Value *RHS, Instruction *CxtI);
-  bool WillNotOverflowUnsignedMul(Value *LHS, Value *RHS, Instruction *CxtI);
   Value *EmitGEPOffset(User *GEP);
   Instruction *scalarizePHI(ExtractElementInst &EI, PHINode *PN);
   Value *EvaluateInDifferentElementOrder(Value *V, ArrayRef<int> Mask);
@@ -388,6 +387,10 @@ public:
     return llvm::ComputeSignBit(V, KnownZero, KnownOne, DL, Depth, AT, CxtI,
                                 DT);
   }
+  OverflowResult computeOverflowForUnsignedMul(Value *LHS, Value *RHS,
+                                               const Instruction *CxtI) {
+    return llvm::computeOverflowForUnsignedMul(LHS, RHS, DL, AT, CxtI, DT);
+  }
 
 private:
   /// SimplifyAssociativeOrCommutative - This performs a few simplifications for