This revision removes the materializeCallConversion hook and replaces
it by a isTypeConvertible hook that checks if an argument or a result
conversion is possible. The actual conversion is then performed using
the recently introduced handleArgument and handleResult hooks.
The revision enables argument and result conversions that create
multiple operations rather than a single cast operation. Additionally,
the handlers also have access to argument and result attributes that
may provide extra information such as if an integer has to be sign or
zero extended.
Depends on D145582
NIT: you can directly return the result of this function.