summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2017-10-09JIT: improve type equality opts for generic and prejitted code (#14381)Andy Ayers2-0/+129
Handle cases where a `GetType()` call on a generically typed object feeds into a type equality comparison. These calls have constraint prefixes. For value classes the constraint tells us the type and so we can avoid the box and call and just construct that type directly. For ref classes the type test can usually reduce to a method table comparison. Also, handle cases that arise in prejiited code better, by generalizing how the jit looks for class handles from type construction trees. Added test cases. Closes #14304.
2017-10-09Fixing JitBench (#14364)José Rivero1-14/+18
- In the lab, the path where the JitBench sources are downloaded is already too long, which eventially causes `dotnet-install.ps1` to fail. Part of the changes are to reduce the PATH where the tests are placed. - Updated the JitBench version/commit being used. This one is already on 2.1 - Fixing typo on `perf.groovy` - Increasing the timeout value as JitBench keeps failing on the lab.
2017-10-04Fix condition flags reuse optimization (#14323)mikedn2-0/+80
This optimization is not valid for unsigned LT/LE/GT/GE relops. Using the Carry flag this way indicates that the operation overflowed, not that the result is less than 0, that's impossible for unsigned integers. This is also not valid for signed LT/LE/GT/GE relops due to integer overflow.
2017-10-03Update Buildtools and Roslyn (#14228)Jose Perez Rodriguez2-2/+19
* Update Buildtools and Roslyn * Fixing importing of the roslyn files on msbuild 14.0 * Correctly looking for the latest VS Installation
2017-10-03Fix IsSafeToContained. (#14268)Sergey Andreenko1-3/+0
When AliasSet adds a node, it should also add all its nodes that are executed inside it (marked as contained).
2017-10-02Improve runtest.sh concurrency (#14036)Hanjoung Lee2-13/+55
* Imporove runtest.sh concurrency `runtest.sh` runs next tests immediately after any of child processes is done * Fix runtest.sh getting number of processors For linux, check if `nproc` or `getconf` exists when getting number of processors. * Add tests that fail with OOM to unsupported list Add several tests that consumes a lot of memory to unsupported test list(arm32). This change is temporary until we properly handle these test with memory issue.
2017-09-29Enable hardware intrinsic in debug and reflectionFei Peng4-10/+68
2017-09-29Implement IsSuppoored for all ISA classesFei Peng3-0/+125
2017-09-27Merge pull request #14207 from CarolEidt/Fix14028Carol Eidt2-0/+70
Handle GT_SIMD in GenTree::Compare
2017-09-27JIT: devirtualization support for EqualityComparer<T>.Default (#14125)Andy Ayers2-0/+247
Mark `EqualityComparer<T>.Default`'s getter as `[Intrinsic]` so the jit knows there is something special about it. Extend the jit's named intrinsic recognizer to recognize this method. Add a new jit interface method to determine the exact type returned by `EqualityComparer<T>.Default`, given `T`. Compute the return type by mirroring the logic used in the actual implementation. Bail out when `T` is not final as those cases won't simplify down much and lead to code bloat. Invoke this interface method when trying to devirtualize calls where the 'this' object in the call comes from `EqualityComparer<T>.Default`. The devirtualized methods can then be inlined. Since the specific comparer `Equal` and `GetHashCode` methods look more complicated in IL than they really are, mark them with AggressiveInlining attributes. If devirtualization and inlining happen, it is quite likely that the value of the comparer object itself is not used in the body of the comparer. This value comes from a static field cache on the comparer helper. When the comparer value is ignored, the jit removes the field access since it is non-faulting. It also removes the the class init helper that is there to ensure that the (no-longer accessed) field is properly initialized. This helper has relatively high overhead even in the fast case where the class has been initialized aready. Add a perf test. Closes #6688.
2017-09-26Merge pull request #14197 from rartemev/fixed_test_build_restoreRoman Artemev1-3/+3
Fixed Linux test build
2017-09-26Handle GT_SIMD in GenTree::CompareCarol Eidt2-0/+70
Fix #14028
2017-09-26Fixed Linux test buildRoman Art1-3/+3
2017-09-26[ARM32] Update armel rootfs for Tizen (#14173)Hyung-Kyu Choi1-2/+2
* [Tizen/ARM32] Update armel rootfs for Tizen - Add lttng-ust-dev to Tizen rootfs for cross build - Use rootfs of the latest Tizen 4.0 Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com> * [Tizen/ARM32] Update Tizen CI script - Update arm32 CI script for Tizen to use the latest environment Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-09-25Add CI PR triggers for x86_arm and x64_arm64 testing (#14158)Bruce Forstall3-2/+14
* Add CI PR triggers for x86_arm and x64_arm64 testing * Fix bug * Don't do GC stress with altjit
2017-09-25Merge pull request #14145 from BruceForstall/CleanupTestsLstBruce Forstall1-51/+51
Re-enable tests that should now pass
2017-09-23Make GitHub_14116 test work on 32 bitMike Danes1-1/+2
newarr expects int32 or native int on the stack. x64 JIT hapilly allows an int64 as well but the x86 JIT asserts. Also change the constant to 0xFFFFFFF1FFFFFFFF so OverflowException is thrown on 32 bit as well.
2017-09-22Re-enable tests that should now passBruce Forstall1-51/+51
2017-09-22Merge pull request #14118 from rartemev/devdiv_491206Roman Artemev2-0/+104
Fixed return constant value cache on 32 bit VMs
2017-09-22Merge pull request #14117 from mikedn/earyprop-neg-lengthBruce Forstall2-0/+81
Don't early-propagate negative array lengths
2017-09-22Create dotnet deployment and acquisition size on disk test (#13956)Victor "Nate" Graf4-3/+748
* [WIP] First version of SoDBench. Contains bugs * [WIP] Move SoDBench files and increase error checking * [WIP] Add NugetConfig to enable pulling packages from myget * [WIP] Remove unhelpful templates and add back oses * [WIP] Add ability to specify channel * [WIP] Improve CSV writing * [WIP] Improve options parsing * Fix syntax error * [WIP] Add test leg to perf.groovy * [WIP] Adjust label to target an existing machine pool * Change label to run on virtual machine * Use setMachineAffinity * Add ASP.NET-Core feed and deafult to master as the channel * Change channel to master in perf.groovy * Move NuGet.Config up a directory so it only needs to be written once * Add CommandLine to external dependencies * Remove CommandLine as it is now in external.depproj * Adjust wget command to work more consistantly * Change calculation of relative paths for clarity * Set job to run daily instead of on push/PR * Build sodbench on job run * Remove MSBuild from job * Fix quote placement * Change metadata to be more accurate * Add rollup totals for each measured category * Refactor to use a tree rather than a dictionary * Limit report size * Publish in release configuration
2017-09-22Merge pull request #13167 from alpencolt/ryu-arm-remove-lea-0-offsetBruce Forstall2-0/+118
[RyuJIT/ARM32] Remove LEA[b+0]
2017-09-22Disable tracing tests on Windows at runtime, not build (#14127)Victor "Nate" Graf4-1/+3
2017-09-22fix arm64_post_build typojashook1-1/+1
2017-09-21fix checkLclVarSemantics (#14053)Sergey Andreenko3-0/+168
* extract CheckLclVarSemantics from CheckLIR. * add a test that shows the silent bad execution. * fix the checker. * add the test to the exclude list. * rename consumed to used
2017-09-21Fixed test return valueRoman Artemev1-1/+1
2017-09-21Merge pull request #14126 from jashook/use_new_x64_clientJarret Shook1-4/+11
Add support for priority and update x64 client
2017-09-21Added microtestRoman Artemev2-0/+104
2017-09-21Add support for priority and update x64 clientjashook1-4/+11
2017-09-21[Jit] fgMorphCast does not reset GTF_ASG (#14102)Sergey Andreenko2-0/+175
add repro for DevDiv_495792. fix the issue.
2017-09-21Don't early-propagate negative array lengthsMike Danes2-0/+81
There's no need for that and if the negative array length is not representable in 32 bit we'll end up producing a GT_CNS_INT node that has TYP_INT and a 64 bit value. That's because the original type (always TYP_INT) of the GT_ARR_LENGTH is preserved when changing the node to GT_CNS_INT.
2017-09-21[RyuJIT] Regression test #13057Alexander Soldatov2-0/+118
LEA[b+0] was not eliminated on ARM which cause assertion on code generation
2017-09-20Change base of literals in k-nucleotide-9Joseph Tremoulet1-6/+6
This keeps it in sync with the copies in the release branches (the release/1.1.0 branch required this since older C# compilers don't accept the binary literals), and improves readability.
2017-09-20Merge pull request #14048 from wtgodbe/RIDsWilliam Godbe4-4/+4
Restore packages for every Windows architecture by default
2017-09-20Merge pull request #14085 from qmfrederik/marshal-utf8-intptr-zeroTijoy Tom1-0/+19
Fix marshaling IntPtr.Zero to UTF8 strings, add unit tests
2017-09-20Reset static state per iteration for k-nucleotide-9 (#14081)Andy Ayers1-1/+6
Otherwise iterations keep getting slower and slower. Also bump inner iteration count to 10 to restore the nominal one second duration per iteration.
2017-09-20Test marshaling IntPtr.Zero to UTF8 strings, add unit testsFrederik Carlier1-0/+19
2017-09-19Merge pull request #14075 from BruceForstall/AllowMoreStressModesBruce Forstall1-2/+2
Refine ARM64 CI stress modes allowed
2017-09-19Refine ARM64 CI stress modes allowedBruce Forstall1-2/+2
For JitStressRegs, allow 0x10, 0x80, 0x1000; don't use simple 10 or 80 in names (to match netci.groovy). Remove "tieredcompilation" from allowed modes; it is not supported in the CI smarty helper currently.
2017-09-19Update exclusions for moved testsJoseph Tremoulet1-3/+12
Change #13994 moved some tests that were excluded from Helix runs, but failed to update the exclusion list; fix that oversight and exclude the tests in their new locations. Fixes #14034.
2017-09-19Restore packages for every Windows architecture by defaultwtgodbe4-4/+4
2017-09-19Fix expected values in fannkuch-redux-5Joseph Tremoulet1-3/+3
The validation logic was testing against `chksum`, which actually can vary depending on the number of processors (as that is used to determine the number of threads across which the work is partitioned, and the checksum is sensitive to the bucketing). Change it to test against `maxflips` instead, which is stable. Fixes #14040.
2017-09-19Update BenchmarksGames README.txtJoseph Tremoulet1-17/+17
Reflecting recent updates to the snapshot of these tests.
2017-09-18Merge pull request #14003 from noahfalk/fix_commitstackNoah Falk1-2/+12
Fix test StackCommitCommon
2017-09-18Disable tests that fail in RyuJIT/arm32 testingBruce Forstall1-32/+32
2017-09-18First step to enable Windows RyuJIT/arm32 testingBruce Forstall1-9/+20
Renames arm legacy backend jobs to "armlb" and keeps "arm" for RyuJIT/arm32 testing.
2017-09-16Merge pull request #13994 from JosephTremoulet/BenchmarksGameJoseph Tremoulet57-2132/+3730
Update BenchmarksGame benchmarks to latest
2017-09-15Mark removed tests EXPECTED_FAILJoseph Tremoulet2-24/+24
The next update to the Tests.lst files will need to include the new variants of these tests.
2017-09-15Fix check for recursive call in the importer. (#13990)Eugene Rozenfeld2-0/+84
The check for recursive call was incorrect when processing an inlineee. The change had no diffs with jit-diff --frameworks --tests so I added a test where this change results in a codegen diff: the call to C is inlined with this change but is not inlined without it.
2017-09-15Fix test StackCommitCommonnoahfalk1-2/+12
This test will hang if run with non-optimized jitted code because it takes a dependency on exactly when locally allocated objects go out of scope. Although I doubt CLI spec guarantees the new code will always work either, it does work with the runtime/JIT as currently implemented.