[RFC] Avoid inlining alwaysinline functions when they cannot be inlined

On the first question, +1 to Nikita’s answer. The alwaysinline should be ignored when inlining is not legal, but there’s work required to ensure inlining is not missed in performance critical cases.

On the second question, I am not in favor of an error diagnostic. It’s possible for the same alwaysinline function to be inlined in one context and not in another. ORE is great to have though.