A function can have one argument with the 'returned' attribute, indicating that the associated argument is always the return value of the function. Add FuncAttrs inference logic.
I intend to make the optimizer smarter about looking through functions with a returned parameter (in support of the llvm.noalias intrinsic). We might as well let generic functions with this property benefit as well.