[IR] Avoid unnecessary canBeFreed() calls (NFC) (#202685)
Do not call canBeFreed() if the value can't ever be freed (e.g. for
globals) or if there are no known dereferenceable bytes. The check is
relatively expensive.
(The compile-time impact is only visible when enabling deref-at-point
semantics.)