Add llvm.protected.field.ptr intrinsic and pre-ISel lowering.
This intrinsic is used to implement pointer field protection.
For more information, see the included LangRef update and the RFC:
https://discourse.llvm.org/t/rfc-structure-protection-a-family-of-uaf-mitigation-techniques/85555
Reviewers: nikic, fmayer, ahmedbougacha
Reviewed By: nikic, fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/151647