Deduces supplementary parameter attributes from MIR.
Deduced parameter attributes are those that can only be soundly determined by examining the body of the function instead of just the signature. These can be useful for optimization purposes on a best-effort basis. We compute them here and store them into the crate metadata so dependent crates can use them.
- A visitor that determines which arguments have been mutated. We can’t use the mutability field on LocalDecl for this because it has no meaning post-optimization.
- Returns the deduced parameter attributes for a function.
- Returns true if values of a given type will never be passed indirectly, regardless of ABI.