- Skip copying function arguments and unnecessary casting by using them directly.
[clang][codegen] Hoist parameter attribute setting in function prolog.
- If the coerced type is still a pointer, it should be set with proper parameter attributes, such as noalias, nonnull, and etc. Hoist that (pointer) parameter attribute setting so that the coerced pointer parameter could be marked properly.