summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Regression
AgeCommit message (Collapse)AuthorFilesLines
2016-03-02Use tooling to add Platforms dependencies and imports where necessary.Davis Goodin4-1/+5
2016-03-02Remove all lockfiles from source control.Davis Goodin4-5986/+0
2016-03-02Merge pull request #3464 from kyulee1/deltestPat Gavlin3-115/+0
Delete a bad test (b06435) for double to long conversion
2016-03-02Delete a bad test (b06435) for double to long conversionKyungwoo Lee3-115/+0
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.
2016-03-01Merge pull request #3448 from swgillespie/license_headersSean Gillespie15-24/+57
Fix license header for test files
2016-02-26Fix license header for test filesSean Gillespie15-24/+57
2016-02-26Move devdiv374539 out of test priority 0.Pat Gavlin1-1/+4
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.
2016-02-26Fix bug in optOptimizeBools for equality of 0/1.Chris McKinsey3-0/+120
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.
2016-02-24Replace reference to msvcr110.dll with msvcrt.dll in test b286991Russ Keldorph1-1/+1
Removes unnecessary (and unsupported) dependency and makes the test consistent with its peers.
2016-02-18Delete 'do not port' test, add non-windows exclusionsRichard L Ford3-109/+0
2016-02-17Port desktop tests that had referencesRichard L Ford23-2/+4498
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.
2016-02-16Make dll project files build-only.Richard L Ford3-0/+6
Dll project files need extra properties to avoid being run as tests.
2016-02-16Add libraries for tests that reference them.Richard L Ford9-0/+1312
This change adds dynamic link libraries that are referenced by other tests.
2016-02-12Merge pull request #3145 from erozenfeld/PreserveCastVNEugene Rozenfeld3-0/+105
Preserve value numbers when discarding a cast.
2016-02-11Preserve value numbers when discarding a cast.Eugene Rozenfeld3-0/+105
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.
2016-02-10Fix warnings in test buildRuss Keldorph2-9/+0
``` 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 ```
2016-02-06Add unit test for issue 2580Sejong Oh3-0/+147
- The test checks if code generation for ushort is correct.
2016-01-27Update license headersdotnet-bot445-941/+1386
2016-01-22Fix a bug in JIT value numbering.Eugene Rozenfeld3-0/+134
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.
2016-01-12Merge pull request #2612 from hoyMS/Bug2610Hongtao Yu3-0/+155
Fix for bug 2610 Incorrect copy prop substitution.
2016-01-12Fix for bug 2610 Incorrect copy prop substitution.Hongtao Yu3-0/+155
The bug is due to missing lvAddrExposed flag for tmp vars serving as pass-by-ref arguments.
2016-01-11Merge pull request #2400 from pgavlin/FixDebugTypesPat Gavlin27-32/+32
Fix DebugType and Optimize values for JIT tests.
2016-01-05Port more JIT tests.Pat Gavlin33-0/+3212
Most of these tests were blocked on unnecessary usage of SerializableAttribute and Environment.ExitCode.
2015-12-31Enable ilasm round trip testingKyungwoo Lee1-0/+1
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.
2015-12-28Using ilasm for test populationKyungwoo Lee13-129/+0
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.
2015-12-23Merge pull request #2313 from richardlford/portilasm1211Richard L Ford188-214/+55401
Port more CoreClr and Desktop JIT Selfhost ILASM tests.
2015-12-23Delete bogus testJan Kotas3-105/+0
2015-12-22Port additional desktop tests to CoreClrRichard L Ford188-214/+55401
Add exclusions for tests that are failing but that we expect to be able to get working.
2015-12-18Restore <DebugType>None</DebugType> for b268908.Pat Gavlin1-1/+1
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.
2015-12-18Fix DebugType and Optimize values for JIT tests.Pat Gavlin28-33/+33
These values were incorrect given the behavior of the test build.
2015-12-16Merge pull request #2354 from pgavlin/ImportSimpleTestsPat Gavlin3-0/+120
Import additional JIT tests.
2015-12-15Import additional JIT tests.Pat Gavlin3-0/+120
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.
2015-12-15Porting testsHongtao Yu4-0/+132
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
2015-12-14Porting tests:Hongtao Yu3-0/+125
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.
2015-12-11Porting tests that have referencesHongtao Yu10-0/+446
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
2015-12-10Import missing JIT tests.Pat Gavlin1116-2052/+13697
These tests were thought to have been ported earlier.
2015-12-08Merge pull request #2259 from pgavlin/ImportSimpleTestsPat Gavlin37-0/+3735
Import additional JIT tests.
2015-12-08Import additional JIT tests.Pat Gavlin37-0/+3735
Most of these tests were missed in the first round because they rely on TypedReference.
2015-12-07Port more C# unit testsRichard L Ford214-0/+83435
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.
2015-09-03More System.Console IL test cleanupBruce Forstall4-4/+25
2015-09-03Fix more System.Console referencesBruce Forstall3-11/+11
2015-09-03Add System.Console references and replace usages with [System.Console]Bruce Forstall582-21155/+24106
2015-09-03Canonicalize appearance of empty mscorlib assembly references in .il testsBruce Forstall41-111/+41
2015-08-24Re-enable JIT testJan Kotas1-4/+0
2015-08-20Disable test failing on VS2015Jan Kotas1-0/+4
Failure tracked by #1421 RyuJIT generates incorrect exception handling scopes for IL generated by Roslyn
2015-08-12Merge pull request #1329 from AndreyAkinshin/masterMatt Mitchell3-0/+103
Fix a bug with disappeared cast to byte in numeric binary expressions
2015-08-12Fix a bug with disappeared cast to byte in numeric binary expressionsAndrey Akinshin3-0/+103
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.
2015-08-11Disable debug info generation for test with very large methodJan Kotas1-1/+1
Roslyn is hitting out of memory exception caused by internal PDB writer limitations (dotnet/roslyn/issues/3915)
2015-07-28Fix for potential bad tailcall code generationMatt Mitchell3-0/+166
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.
2015-07-09Move CoreCLR to the modern build tools and dnxMatt Mitchell961-2276/+1415
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.