Patch Set III (update) Implemented llvm.umul.with.overflow