this is part of the implementation of http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html
this patch gives the basis of building an assume to preserve all information from an instruction and add support for building an assume that preserve the information from a call.
Nit: Maybe say we return an assume call instead of just "instruction"?
The sentence is broken I think, the end should be something like derived from \p I.