[mono] Fix the long opcode decompose pass when using llvm. (#56535)
authorZoltan Varga <vargaz@gmail.com>
Thu, 29 Jul 2021 17:30:34 +0000 (13:30 -0400)
committerGitHub <noreply@github.com>
Thu, 29 Jul 2021 17:30:34 +0000 (13:30 -0400)
commitdc25b6ee2065676767b91f649104f382cf70efb1
treea23e8c07d4fe5b50fe434403e86721fd4c76b248
parent1f3d36a323c9efb5e9a0f1f539332cc745c90c21
[mono] Fix the long opcode decompose pass when using llvm. (#56535)

It was replacing 64 bit opcodes with 32 bit ones while keeping the input/output 64 bit
vregs, leading to memory overwrites in later passes. Instead simply keep the 64
bit opcodes, llvm can handle them.

Fixes https://github.com/dotnet/runtime/issues/53546.
src/mono/mono/mini/decompose.c