[CGCall] Annotate `this` argument with alignment

As it is being noted in D99249, lack of alignment information on `this`
has been preventing LICM from happening.

For some time now, lack of alignment attribute does *not* imply
natural alignment, but an alignment of `1`.
Also, we used to treat dereferenceable as implying alignment,
but we no longer do, so it's a bugfix.

Differential Revision: https://reviews.llvm.org/D99790

GitOrigin-RevId: 0aa0458f1429372038ca6a4edc7e94c96cd9a753
8 files changed