Don't retype struct as primitive types in import. (#33225)
authorSergey Andreenko <seandree@microsoft.com>
Tue, 5 May 2020 05:18:33 +0000 (22:18 -0700)
committerGitHub <noreply@github.com>
Tue, 5 May 2020 05:18:33 +0000 (22:18 -0700)
commit5da855dcf7b162b68a5ebc3fc826693a5ac59ccd
tree3e5351a42f26d8bfb8876215ffa8b0ac41df2b95
parentc9f917052fc091014ef0f311b6f79a812bbfbd38
Don't retype struct as primitive types in import. (#33225)

* Add two tests.

* Don't retype struct returns x64 windows.

* Turn on for Windows x64 by default for tests.

* fix a few typos/leftovers.

* Disable for Win64 by default.

There are 2 issues that prevent it from being enbaled by default. They are causing significant asm regressions.
14 files changed:
src/coreclr/src/jit/assertionprop.cpp
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/gentree.cpp
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/jitconfigvalues.h
src/coreclr/src/jit/lower.cpp
src/coreclr/src/jit/lower.h
src/coreclr/src/jit/morph.cpp
src/coreclr/tests/src/JIT/Directed/StructABI/StructWithOverlappingFields.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/Directed/StructABI/StructWithOverlappingFields.csproj [new file with mode: 0644]
src/coreclr/tests/src/JIT/Directed/StructABI/structreturn.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/Directed/StructABI/structreturn.csproj [new file with mode: 0644]