Check more patterns for retBuffer. (#40340)
authorSergey Andreenko <seandree@microsoft.com>
Thu, 6 Aug 2020 07:57:33 +0000 (00:57 -0700)
committerGitHub <noreply@github.com>
Thu, 6 Aug 2020 07:57:33 +0000 (00:57 -0700)
commita778b7e09722c45891ab66f0cd38785d3156c839
treefb58e33473137f38ec7a554c97f4c856258db884
parent8f6a77a8f6bdbee005aefc4576069130676c914f
Check more patterns for retBuffer. (#40340)

* Check more patterns for retBuffer.

We force return buffers containing GC pointers to be on the stack and before we make a copy we check if the return buffer is already on the stack. Fix the check by adding `LCL_VAR_ADDR`, `ADD(LCL_VAR_ADDR, CNST)` patterns.

* Clear `EnableExtraSuperPmiQueries` during SPMI replay.

It is set during collection for easier test of struct promotion enhancements but it could let to chk/rel diffs if used during replay.
src/coreclr/scripts/superpmi.py
src/coreclr/src/jit/morph.cpp