Disallow `IND<struct>` except as a source of `STORE_DYN_BLK` (#74784)
authorSingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
Thu, 15 Dec 2022 16:57:21 +0000 (19:57 +0300)
committerGitHub <noreply@github.com>
Thu, 15 Dec 2022 16:57:21 +0000 (17:57 +0100)
commitdad39c71c960de9b63c60c3f61335128be645ed3
tree949213155212b4eb38a6d8c5335a55f1116fc7b0
parent04c9a6f2e88799ff98c21cacc67ad196ea3cc69c
Disallow `IND<struct>` except as a source of `STORE_DYN_BLK` (#74784)

* Don't create IND<struct> for InitializeArray

* Don't create IND<struct> in STORE_DYN_BLK morph

* Don't create IND<struct> for FIELDs

* Simplify code

* Delete "ADDR(FIELD)" wrapping for struct args

* Fix refanytype import

* Fix fwd sub

* Fix non-null prop

* Simplify impAssignStruct

* Simplify "impNormStructVal" more
src/coreclr/jit/assertionprop.cpp
src/coreclr/jit/forwardsub.cpp
src/coreclr/jit/gentree.cpp
src/coreclr/jit/gentree.h
src/coreclr/jit/importer.cpp
src/coreclr/jit/importercalls.cpp
src/coreclr/jit/lclmorph.cpp
src/coreclr/jit/lower.cpp
src/coreclr/jit/lowerloongarch64.cpp
src/coreclr/jit/morph.cpp
src/coreclr/jit/morphblock.cpp