llvm::checkedMulAddUnsigned

Multiply unsigned integers A and B, and add C to the resulting product.

Synopsis

Declared in <llvm/Support/CheckedArithmetic.h>

template<typename T>
std::optional<T>
checkedMulAddUnsigned(
    T A,
    T B,
    T C)
requires std::is_unsigned_v<T>;

Return Value

Optional of result if no unsigned overflow occurred, std::nullopt otherwise.