Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Delete a bad test (b06435) for double to long conversion
|
|
This test relies on unspecified value when a large double value
is converted to a long value where overflow occurs.
For x64(cvttsd2si), this value is MIN_INT(0x8000000000000000) while ARM64(fcvtzs) produces MAX_INT(0x7fffffffffffffff).
According to ECMA spec, the value is unspecified, so I simply delete this test.
|
|
Fix license header for test files
|
|
|
|
This test takes a very long time to execute (~60% of the total time
spent in JIT tests on my machine) and does not seem to be providing
an enormous amount of value. This change moves the test into priority
1, which excludes it from the build by default. If you already have
a test build, you will need to do a clean build in order to avoid
running this test.
|
|
The method optIsBoolCond had a clever way to test for a constant
of value 0/1 by casting the resulting gtIconVal to (unsigned) and
comparing for <= 1. Unfortunately, for 64-bit targets gtIconVal as
ssize_t holds 64-bits and the cast to (unsigned) results in truncating
significant bits and results in the optimization falsely recognizing
legal patterns of bit-tests comparing against 0/1. Because 32-bit
targets represent 64-bit long constants as GT_CNS_LNG they do not
suffer from this problem as the code already had exclusions for them.
|
|
Removes unnecessary (and unsupported) dependency and makes the test
consistent with its peers.
|
|
|
|
This change ports desktop tests that had references to dlls.
It also fixes some of the dll project files.
In addition there are some additional tests that were not
previously ported (but that do not reference dlls).
There are 4 tests that are excluded because of issue #3216.
|
|
Dll project files need extra properties to avoid being run as tests.
|
|
This change adds dynamic link libraries that are referenced
by other tests.
|
|
Preserve value numbers when discarding a cast.
|
|
This is a fix for an assert during CSE. After processing a CSE definition
the tree got morphed. During morphing a cast was discarded by narrowing
the operand of the cast. The value number of the operand was cleared. Later,
when processing a use of the CSE, the code was attempting to process the side effects
in the tree of the use and was encountering a node with no value number resulting
in an assert. The fix is to transfer the value number from the cast node to the narrowed
operand.
|
|
```
warning : Layout specified for auto-layout class
C:\git\coreclr\tests\src\JIT\Directed\PREFIX\unaligned\1\add.ilproj
C:\git\coreclr\tests\src\JIT\Directed\PREFIX\volatile\1\add.ilproj
warning : Non-nested class has nested visibility (0x00000102), changed to non-nested (0x00000101)
C:\git\coreclr\tests\src\JIT\jit64\regress\vsw\153682\test.ilproj
warning : Reference to undeclared extern assembly '<assembly>'. Attempting autodetect
C:\git\coreclr\tests\src\JIT\Methodical\explicit\misc\_il_dbgrefarg_box_f8.ilproj (System.Console)
C:\git\coreclr\tests\src\JIT\Methodical\explicit\misc\_il_relrefarg_box_f8.ilproj (System.Console)
C:\git\coreclr\tests\src\JIT\Methodical\tailcall_v4\hijacking.ilproj (mscorlib, System.Threading, System.Threading.Thread)
warning : Undefined implementation in ExportedType '<type>' -- ExportType not emitted
C:\git\coreclr\tests\src\JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b32879\b32879.ilproj (HiDad, _vbProject)
C:\git\coreclr\tests\src\JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b65423\b65423.ilproj (b1904)
warning C4311: 'type cast': pointer truncation from 'void *' to 'unsigned int' (+redundant C4302)
C:\git\coreclr\bin\Native\src\JIT\Directed\pinning\object-pin\mirror.vcxproj
```
|
|
- The test checks if code generation for ushort is correct.
|
|
|
|
This is a fix for a silent bad codegen bug in value numbering.
The value numbering algorithm tries to check whether heap PHI arguments
evaluate to the same value for the given query. In doing so, it may encounter
PHIs that recursively depend on each other (this corresponds to cycles in
control flow graph). A special value RecursiveVN is returned in such cases.
The algorithm uses the following rule:
if some PHI arguments evaluate to RecursiveVN but all others evaluate to the
same value that's not RecursiveVN, then that value can be used as the result.
Furthermore, in order to avoid exponential searches in case of many PHI's the
results of all PHI evaluations are memoized.
The bug was that if RecursiveVN was used to get the result, it can't always
be memoized. In particular, if the loop causing recursive PHIs is a multi-entry
loop, intermediate PHI results shouldn't be memoized. The fix is conservative in
that it always disables memoization if RecursiveVN was involved. Note that we
also have another mechanism (budget) to mitigate expensive PHI evaluations.
There were no diffs in SuperPMI and no measurable throughput impact.
I added a test with a simplified repro.
The original bug had code with yield return.
I also fixed some formatting and added several function headers.
|
|
Fix for bug 2610 Incorrect copy prop substitution.
|
|
The bug is due to missing lvAddrExposed flag for tmp vars serving as pass-by-ref arguments.
|
|
Fix DebugType and Optimize values for JIT tests.
|
|
Most of these tests were blocked on unnecessary usage
of SerializableAttribute and Environment.ExitCode.
|
|
This enables ilasm round-trip testing for Windows.
In order to test il{d}asm on xPlatforms, I injected ilasm round trip before executing the test.
This means this step is a part of the runtest not the buildtest -- unlike runtest, currently buildtest is only on Windows.
1. Test batch file is extended to run ildasm followed by ilasm.
2. BuildTest has now an optional flag "ilasmroundtrip" to enable the round-trip tests. Note under this flag, we run both the original binary and the round-trip binary respectively.
3. Test timeout is increased since the round-trip is part of runtime.
4. Did some clean-up on CLRTest.Execute.Batch.targets
5. Bail out the round-trip tests that are built against mscorlib instead of .Net Core.
6. Added /raweh to ildasm due to https://github.com/dotnet/coreclr/issues/2481
7. ilasmroundtrip.targets (~10 tests) are added to enable them by default in a regular test run.
Tested with enabling the entire tests (>5K tests) with 'ilasmroundtrip' on, which should be on in a daily or weekly stress mode.
|
|
This enables the use of ilasm from CoreCLR build to populate il tests instead of using a stock ilasm on Windows desktop.
Note currently we populate tests (even for xPlatforms) on Windows only.
But when we migrate this test population on xPlatforms, this can be simply used as well.
All permission related attributes are dropped which CoreCLR ignores anyhow. Or ilasm will fail to parse such attributes.
|
|
Port more CoreClr and Desktop JIT Selfhost ILASM tests.
|
|
|
|
Add exclusions for tests that are failing but that
we expect to be able to get working.
|
|
This test causes an OOM in Roslyn if debug information is enabled.
Fortunately, this test has no dependency on debug information, and
it can be disabled.
|
|
These values were incorrect given the behavior of the test build.
|
|
Import additional JIT tests.
|
|
These tests were not imported earlier due to missing APIs. In the
case of all APIs besides TypedReference, the sources were adjusted
to accommodate the differences on .Net Core. In the case of
TypedReference, the tests now reference the local mscorlib.
|
|
jit\directed\nullabletypes\value_d.csproj
jit\directed\nullabletypes\value_do.csproj
jit\directed\nullabletypes\value_r.csproj
jit\directed\nullabletypes\value_ro.csproj
jit\methodical\fp\apps\bouncingball_cs_d.csproj
jit\methodical\fp\apps\bouncingball_cs_do.csproj
jit\methodical\fp\apps\bouncingball_cs_r.csproj
jit\methodical\fp\apps\bouncingball_cs_ro.csproj
jit\regression\vs-ia64-jit\m00\b77951\b77951.csproj
jit\methodical\stringintern\_XModuletest1-xmod.csproj
jit\methodical\stringintern\_XModuletest2-xmod.csproj
jit\methodical\stringintern\_XModuletest4-xmod.csproj
Remove
|
|
jit\regression\clr-x86-jit\v1-m09.5-pdc\b12795\b12795.csproj
jit\methodical\eh\deadcode\deadcodeincatch_d.ilproj
Porting interop tests
jit\jit64\mcc\interop\mcc_i10.exe
jit\jit64\mcc\interop\mcc_i11.exe
jit\jit64\mcc\interop\mcc_i12.exe
jit\jit64\mcc\interop\mcc_i13.exe
Disabled for linux since the tests are using native varargs.
|
|
jit\directed\perffix\primitivevt\callconv2_cs_d.csproj
jit\directed\perffix\primitivevt\callconv2_cs_do.csproj
jit\directed\perffix\primitivevt\callconv2_cs_r.csproj
jit\directed\perffix\primitivevt\callconv2_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise1_cs_d.csproj
jit\methodical\cctor\xassem\xprecise1_cs_do.csproj
jit\methodical\cctor\xassem\xprecise1_cs_r.csproj
jit\methodical\cctor\xassem\xprecise1_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_d.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_do.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_r.csproj
jit\methodical\cctor\xassem\xprecise1b_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise2_cs_d.csproj
jit\methodical\cctor\xassem\xprecise2_cs_do.csproj
jit\methodical\cctor\xassem\xprecise2_cs_r.csproj
jit\methodical\cctor\xassem\xprecise2_cs_ro.csproj
jit\methodical\cctor\xassem\xprecise4_cs_d.csproj
jit\methodical\cctor\xassem\xprecise4_cs_do.csproj
jit\methodical\cctor\xassem\xprecise4_cs_r.csproj
jit\methodical\cctor\xassem\xprecise4_cs_ro.csproj
jit\regression\clr-x86-jit\v2.0-beta2\b423721\b423721.csproj
Remove testing against Type.GetMethod(string) which is not in coreCLR.
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset1.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset1_o.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset2.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset2_o.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset3.csproj
jit\jit64\eh\finallyexec\nestedTryRegionsWithSameOffset3_o.csproj
jit\jit64\eh\finallyexec\nonlocalgotoinatryblockinahandler.csproj
jit\jit64\eh\leaves\nonlocalexitfromnestedcatch.csproj
jit\methodical\boxing\xlang\_dbgsin_cs_cs.csproj
jit\methodical\boxing\xlang\_odbgsin_cs_cs.csproj
jit\methodical\boxing\xlang\_orelsin_cs_cs.csproj
jit\methodical\boxing\xlang\_relsin_cs_cs.csproj
jit\methodical\eh\basics\multihandler_d.csproj
jit\methodical\eh\basics\multihandler_do.csproj
jit\methodical\eh\basics\multihandler_r.csproj
jit\methodical\eh\basics\multihandler_ro.csproj
jit\methodical\eh\basics\throwincatch_d.csproj
jit\methodical\eh\basics\throwincatch_do.csproj
jit\methodical\eh\basics\throwincatch_r.csproj
jit\methodical\eh\basics\throwincatch_ro.csproj
jit\methodical\eh\basics\throwinclassconstructor_d.csproj
jit\methodical\eh\basics\throwinclassconstructor_do.csproj
jit\methodical\eh\basics\throwinclassconstructor_r.csproj
jit\methodical\eh\basics\throwinclassconstructor_ro.csproj
Porting jit\methodical\eh\basics
Porting jit\methodical\eh\finallyexec
Porting jit\methodical\eh\generics
Porting jit\methodical\eh\interactions
Porting jit\methodical\eh\leaves
Porting jit\methodical\eh\rethrow
Porting jit\methodical\eh\nested\general
Porting jit\methodical\eh\nested\nonlocalexit
Porting jit\methodical\eh\regress
Porting more tests
|
|
These tests were thought to have been ported earlier.
|
|
Import additional JIT tests.
|
|
Most of these tests were missed in the first round because they rely on
TypedReference.
|
|
The project files were generated automatically from a database
and the source files scrubbed and formatted.
In addition, some added tests are still failing. Issues were
created for these and exclusions added, for windows and for
non-windows.
|
|
|
|
|
|
|
|
|
|
|
|
Failure tracked by #1421 RyuJIT generates incorrect exception handling scopes for IL generated by Roslyn
|
|
Fix a bug with disappeared cast to byte in numeric binary expressions
|
|
Lowering::IndirsAreEquivalent doesn't check if the 2 indirections have the same type and because of that a RMW style instruction is generated instead of the expected
movzx rax, byte ptr [7FFA61024742h]
xor eax, 33
mov word ptr [7FFA61024742h], ax
This behavior was fixed by adding an additional check to IndirsAreEquivalent (implementation of the mikedn's approach: https://github.com/dotnet/coreclr/pull/1329#discussion_r36397171).
Fix #1323.
|
|
Roslyn is hitting out of memory exception caused by internal PDB writer limitations (dotnet/roslyn/issues/3915)
|
|
The JIT can potentially pass an incorrect parameter to a callee when optimizing a tail call. While updating a GT_LCL* node with lcl var num of temp passed to the tail call, we also need to change its opererand to GT_LCL_VAR.
|
|
This changes moves coreclr onto DNX (same version as corefx). Theoretically, this should allow these tests to target the desktop CLR. All of the old package.config files are gone and replaced with corresponding project.json files. The up front restore behavior is retained. Tests are now buildable individually, though not runnable in a similar fashion.
|