Handle some rare scenarios in local morph (#71536)
authorSingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
Thu, 7 Jul 2022 19:51:52 +0000 (22:51 +0300)
committerGitHub <noreply@github.com>
Thu, 7 Jul 2022 19:51:52 +0000 (21:51 +0200)
commitf95d9ba2b45b4a067a91925cf0c0ae25ba7c29e1
tree94de5e0fc93e0924b76112f4781919c22276f5e2
parent79d5e091bb1d5c02a4ff992f0e055f650467bc77
Handle some rare scenarios in local morph (#71536)

Namely, cases where we cannot transform local indirections into local nodes:

1. Unused indirections - we simply remove them.
2. Volatile FIELDs - we mark the underlying local address-exposed.
3. Large offsets - likewise.

Overall this (as well as most other ADDR-related changes) works towards enabling the invariant that after local morph, every local access is either address-exposed, or transformed into LCL_VAR/LCL_FLD.
src/coreclr/jit/lclmorph.cpp