Carol Eidt [Wed, 14 Mar 2018 17:08:31 +0000 (10:08 -0700)]
Merge pull request #16797 from dotnetrt/SetAllVector128_Managed
Managed implementation of SetAllVector128 SSE2 helper HW intrinsic
Carol Eidt [Wed, 14 Mar 2018 16:47:27 +0000 (09:47 -0700)]
Merge pull request #16853 from dotnetrt/CnvertScInt64
Fix ConvertScalarToVector128(U)Int64 codegen and improve tests
Michelle McDaniel [Wed, 14 Mar 2018 16:26:20 +0000 (09:26 -0700)]
Remove call to GenerateLayoutOnly for throughput runs (#16919)
Andon Andonov [Wed, 14 Mar 2018 10:37:05 +0000 (03:37 -0700)]
Mark GenericContext test as incompatible with GCStress (#16918)
Jacek Blaszczynski [Wed, 7 Mar 2018 15:58:28 +0000 (16:58 +0100)]
Convert implementation of SetAllVector128 SSE HW intrinsic to managed
Jacek Blaszczynski [Wed, 7 Mar 2018 14:49:25 +0000 (15:49 +0100)]
Add SSE2 SetAllVector128 helper HW intrinsic tests
Jacek Blaszczynski [Wed, 7 Mar 2018 14:48:24 +0000 (15:48 +0100)]
Managed implementation of SSE2 SetAllVector128 helper HW intrinsic
Tarek Mahmoud Sayed [Tue, 13 Mar 2018 23:44:31 +0000 (16:44 -0700)]
Fix GetHashCode with invariant mode
Wes Haggard [Wed, 14 Mar 2018 00:09:52 +0000 (17:09 -0700)]
Merge pull request #16907 from dotnet-maestro-bot/master-UpdateDependencies
Update CoreFx to preview2-26313-03 (master)
Jan Kotas [Wed, 14 Mar 2018 00:00:50 +0000 (17:00 -0700)]
Revert "Revert "Fix handling of incorrect assemblies on Unix (#16747)" (#16790)" (#16917)
This reverts commit
47bef69b68a35eafa069d08187727684a5f47901.
Carol Eidt [Tue, 13 Mar 2018 20:25:08 +0000 (13:25 -0700)]
Merge pull request #16872 from fiigii/avxpermute
Implement AVX Shuffle and Permute intrinsics
David Mason [Tue, 13 Mar 2018 19:40:30 +0000 (12:40 -0700)]
change bool to bool (#16914)
Jan Vorlicek [Tue, 13 Mar 2018 18:56:34 +0000 (19:56 +0100)]
Fix shuffling thunk for Unix AMD64 (#16904)
The shufflign thunk was generated incorrectly for some edge cases when
a struct was passed in a register or a pair of registers in the
destination, but on stack in the source.
This change implements a new algorithm that ensures that argument slots
are never overwritten before their current value is moved out.
It also adds an extensive regression test that checks various
interesting combinations of arguments that were causing issues before.
Bruce Forstall [Tue, 13 Mar 2018 18:42:04 +0000 (11:42 -0700)]
Merge pull request #16888 from jashook/up_jit_stress_timeout
Up the jit stress timeout to 5 hours
Matt Mitchell [Tue, 13 Mar 2018 17:45:45 +0000 (10:45 -0700)]
Unblock official builds (#16913)
Removing arm64 linux cross build for now
Carol Eidt [Tue, 13 Mar 2018 17:13:31 +0000 (10:13 -0700)]
Merge pull request #16390 from sdmaclea/PR-16176
[Arm64] Mark removed compare zero nodes unused
Carol Eidt [Tue, 13 Mar 2018 17:02:45 +0000 (10:02 -0700)]
Merge pull request #16822 from sdmaclea/PR-ARM64-BASE-INTRINSICS
[Arm64] Base HW Intrinsics
dotnet-maestro-bot [Tue, 13 Mar 2018 14:08:20 +0000 (07:08 -0700)]
Update CoreFx to preview2-26313-03
David Mason [Tue, 13 Mar 2018 08:24:20 +0000 (01:24 -0700)]
[local gc] refactor apis for threading and suspension to avoid redundant calls in to the runtime (#16765)
* [Local GC] Refactor calls involving thread modes, suspension, and alloc contexts to always operate on current thread
* BOOL -> bool for enable/disable preemptive routines, also remove an unused call to GetThread
* avoid one indirection by having GCToEEInterface::EnablePreemptiveGC return a bool indicating whether the mode was changed
* Callback on IGCHeap for the runtime to notify the GC when it is trapping threads
* use g_fSuspensionPending instead of GCToEEInterface::CatchAtSafePoint for allow_fgc
* Remove CatchAtSafePoint
* Remove GetThread from WaitLongerNoInstru
* code review feedback
* code review feedback
* change BOOL to bool
dotnet-maestro-bot [Tue, 13 Mar 2018 05:07:57 +0000 (00:07 -0500)]
Update BuildTools, CoreFx to preview2-02612-03, preview2-26313-01, respectively (#16902)
Fei [Tue, 13 Mar 2018 02:56:51 +0000 (18:56 -0800)]
Implement AVX Shuffle and Permute intrinsics
Jeremy Kuhne [Tue, 13 Mar 2018 00:38:26 +0000 (17:38 -0700)]
Fix short path expansion (#16901)
Also make methods internal so I can add better unit tests.
Anirudh Agnihotry [Mon, 12 Mar 2018 23:47:47 +0000 (16:47 -0700)]
Missing Case In Remove Relative Segments (#16869)
Stephen Toub [Mon, 12 Mar 2018 19:25:17 +0000 (15:25 -0400)]
Use a cached canceled task in ValueTask (dotnet/corefx#27967)
When an IValueTaskSource reports it completed due to cancellation by the time we AsTask it, we can use a cached canceled task if a) this is the netstandard build, or b) this is the netcoreapp build and it reported cancellation but threw an exception other than a cancellation exception. We cache the non-generic one in a readonly static, since there's only one of them, but lazily cache the generic one.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Carol Eidt [Mon, 12 Mar 2018 21:51:32 +0000 (14:51 -0700)]
Merge pull request #16884 from mikedn/lclvar-dead
Remove unused LclVarDsc members
dotnet-maestro-bot [Mon, 12 Mar 2018 17:51:36 +0000 (10:51 -0700)]
Update BuildTools, CoreClr, CoreFx to preview2-02612-02, preview2-26310-01, preview2-26312-02, respectively
Steve MacLean [Mon, 12 Mar 2018 19:42:23 +0000 (15:42 -0400)]
[Arm64/Ubuntu] Update docker tag to include binutils (#16896)
Eugene Rozenfeld [Mon, 12 Mar 2018 19:39:02 +0000 (12:39 -0700)]
Run ILLInk on System.Private.CoreLib.dll to remove dead code. (#16876)
We already run ILLInk on corefx assemblies to remove dead code;
this change enables that for System.Private.CoreLib.dll.
The new ILLink.targets file is similar to the one in corefx.
All runtime dependencies were already computed and rooted in an xml file that
was embedded in System.Private.CoreLib.dll. This change adds ILLinkTrim.xml
with a few manual roots. They are also included in the embedded xml.
The dead code found by ILLink that could be removed from sources was already
removed in https://github.com/dotnet/coreclr/pull/16759 The remaining code removed by ILLink
falls into 4 categories:
1. Inlined constants.
2. Private default constructors when there are no other instance constructors.
3. System.Number+DoubleHelper.Sign that needs to stay in the sources for corert mirror.
4. EventListener._EventSourceCreated event methods (the even field is retained).
ILLink also clears initlocals on all methods so I removed the workaround
we had in jitinterface.cpp.
Steve MacLean [Wed, 14 Feb 2018 17:27:03 +0000 (12:27 -0500)]
[Arm64] Mark removed compare zero nodes unused
Atsushi Kanamori [Mon, 12 Mar 2018 16:57:10 +0000 (09:57 -0700)]
Optimize MemoryExtensions SequenceEqual for more T's (dotnet/corefx#27859)
* Optimize MemoryExtensions SequenceEqual for more T's
https://github.com/dotnet/corefx/issues/27487
* Add testcoverage for SequenceEqual<long>
* Remove #if BIT64 dependency for netstandard
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Wes Haggard [Mon, 12 Mar 2018 17:11:25 +0000 (10:11 -0700)]
Merge pull request #16709 from sdmaclea/PR-ARM64-Bootstrapping
Revise init-tools.sh to support bootstrapping
Carol Eidt [Mon, 12 Mar 2018 16:02:44 +0000 (09:02 -0700)]
Merge pull request #16877 from CarolEidt/Fix16578
Fix LSRA enregisterLocalVars
Carol Eidt [Mon, 12 Mar 2018 15:38:20 +0000 (08:38 -0700)]
Merge pull request #16879 from tannergooding/hwintrin-encode
Ensure that `id->idReg2()` is properly encoded for 4-Byte SIMD instructions
Steve MacLean [Mon, 12 Mar 2018 09:37:26 +0000 (05:37 -0400)]
Fix lldb-3.9-dev package name (#16885)
jashook [Sun, 11 Mar 2018 04:04:38 +0000 (20:04 -0800)]
Up the jit stress timeout to 5 hours
Current jitx86hwintrinsicnoavx job runs around 4 hours. Which will cause timeouts if over.
Mike Danes [Sat, 10 Mar 2018 18:47:19 +0000 (20:47 +0200)]
Remove unused LclVarDsc members
Jan Kotas [Sun, 11 Mar 2018 02:29:42 +0000 (18:29 -0800)]
Set IsGeneratingNgenPDB flag early (#16882)
Fixes #16864
Jacek Blaszczynski [Fri, 9 Mar 2018 23:26:39 +0000 (00:26 +0100)]
Convert SSE SetVector128 implementation to managed
Jacek Blaszczynski [Thu, 8 Mar 2018 00:41:41 +0000 (01:41 +0100)]
Add SSE2 SetVector128 HW intrinsic tests
Jacek Blaszczynski [Wed, 7 Mar 2018 22:58:43 +0000 (23:58 +0100)]
Implement SSE2 SetVector128 HW intrinsics - managed
Steve MacLean [Thu, 8 Mar 2018 00:07:51 +0000 (19:07 -0500)]
[Arm64] Add Base HW intrinsic tests
Jan Kotas [Sat, 10 Mar 2018 21:35:40 +0000 (13:35 -0800)]
crossgen plumbing cleanup (#16883)
* Delete unused ForceFullTrust command line option for crossgen
* Delete ALLOW_LOCAL_WORKER define
* Delete Zapper::m_legacyMode
* Delete ngenparser.inl
Tanner Gooding [Tue, 6 Mar 2018 00:00:35 +0000 (16:00 -0800)]
Adding tests for the Extend, GetLowerHalf, and StaticCast intrinsics
Tanner Gooding [Mon, 5 Mar 2018 23:11:30 +0000 (15:11 -0800)]
Adding support for the Extend, GetLowerHalf, and StaticCast AVX intrinsics
Sergey Andreenko [Sat, 10 Mar 2018 18:48:57 +0000 (10:48 -0800)]
fix r2r relative indirection for arm. (#16171)
Tanner Gooding [Sat, 10 Mar 2018 06:54:21 +0000 (22:54 -0800)]
Ensure that `id->idReg2()` is properly encoded for 4-Byte SIMD instructions
Steve MacLean [Sat, 10 Mar 2018 02:18:22 +0000 (21:18 -0500)]
[Arm64/Linux] Enable arm64 nuget builds (#16707)
Carol Eidt [Sat, 10 Mar 2018 01:50:29 +0000 (17:50 -0800)]
Fix LSRA enregisterLocalVars
We don't bother with the parts of LSRA that deal with lclVars if we have no tracked lclVars. However, we need to check that *after* liveness has run post-Lowering - otherwise we miss any lclVars created by optimizations or during Lowering.
Fix #16578
Jan Kotas [Fri, 9 Mar 2018 20:45:12 +0000 (12:45 -0800)]
Use ValueStringBuilder instead of StringBuilderCache
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Tanner Gooding [Fri, 9 Mar 2018 03:36:21 +0000 (19:36 -0800)]
Fix the RMW delay handling for hwintrinsic nodes with RMW semantics and more than 2 args
Tanner Gooding [Thu, 8 Mar 2018 23:34:33 +0000 (15:34 -0800)]
Update isRMWHWIntrinsic to explicitly cover intrinsics that are always RMW
Tanner Gooding [Thu, 8 Mar 2018 22:08:37 +0000 (14:08 -0800)]
Updating the hwintrinsic codegen to handle the case where `op2Reg == targetReg`
Sung Yoon Whang [Sat, 10 Mar 2018 00:33:26 +0000 (18:33 -0600)]
Log inner exceptions for Environment.Failfast (#16622)
* Add inner exception log to failfast
* cleanup
* Address PR comments
* Address more GC hole issue
* address more PR comments
Jan Vorlicek [Sat, 10 Mar 2018 00:12:14 +0000 (01:12 +0100)]
Fix build with Clang 6.0 and enable build with Clang 5.0 (#16855)
* Fix build with Clang 6.0
* Add support for clang 5.0 too
Brian Sullivan [Fri, 9 Mar 2018 23:20:42 +0000 (15:20 -0800)]
Merge pull request #16860 from briansull/valuenum-fix
Add implicit cast for assignments in ValueNumbering when necessary
Brian Sullivan [Fri, 9 Mar 2018 21:41:15 +0000 (13:41 -0800)]
Merge branch 'master' into valuenum-fix
Brian Sullivan [Fri, 9 Mar 2018 21:40:52 +0000 (13:40 -0800)]
fix typo
Brian Sullivan [Fri, 9 Mar 2018 20:48:46 +0000 (12:48 -0800)]
Fix value numbering of assignments to insert an implicit cast when necessary
Sergey Andreenko [Fri, 9 Mar 2018 20:28:34 +0000 (12:28 -0800)]
Revert "Disable fragile NGen for System.Private.CoreLib.dll on ARM" (#16863)
This reverts commit
bc3b01b5612b21fdb8f11ec6917e5ec4503f1dcc.
Steve MacLean [Wed, 28 Feb 2018 17:00:31 +0000 (12:00 -0500)]
Revise init-tools.sh to support bootstrapping
Add $DotNetBootstrapCliTarPath
Disable ILAsm nuget fetch while bootstrapping
Brian Sullivan [Fri, 9 Mar 2018 18:59:41 +0000 (10:59 -0800)]
When value numbering an assignment we may need to insert an implicit cast operation
Test case opt/CSE/NarrowStore.cs added
Egor Chesakov [Fri, 9 Feb 2018 00:34:27 +0000 (16:34 -0800)]
Disable fragile NGen for System.Private.CoreLib.dll on ARM
Jacek Blaszczynski [Fri, 9 Mar 2018 03:31:19 +0000 (04:31 +0100)]
Fix ConvertScalarToVector128(U)Int64 codegen and improve tests
Egor Chesakov [Fri, 9 Mar 2018 06:43:13 +0000 (22:43 -0800)]
Don't build superpmi as crosscomponent (#16729)
* Don't build superpmi as crosscomponent
* Replace install with _install in all superpmi CMakeLists.txt files
Luqun Lou [Fri, 9 Mar 2018 02:37:38 +0000 (18:37 -0800)]
Update UsingYourBuild.md (#16842)
This topic is about DotnetCli instead of CoreRun -- CoreRun is next topic
Tarek Mahmoud Sayed [Fri, 9 Mar 2018 01:03:32 +0000 (17:03 -0800)]
Fix Compile error
Tarek Mahmoud Sayed [Thu, 8 Mar 2018 21:56:43 +0000 (13:56 -0800)]
Collapse AsSpan().Slice(...) into .AsSpan(...) (dotnet/corefx#27867)
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Sergey Andreenko [Fri, 9 Mar 2018 01:17:31 +0000 (17:17 -0800)]
[RyuJit] Fix DCE in liveness. (#16845)
* add repro
* fix
Sung Yoon Whang [Fri, 9 Mar 2018 00:25:20 +0000 (18:25 -0600)]
Disable some GC tests from GCStress runs (#16846)
Anirudh Agnihotry [Thu, 8 Mar 2018 20:55:00 +0000 (12:55 -0800)]
RemoveRelativeSegments moved from path to pathinternal (#16829)
Andon Andonov [Thu, 8 Mar 2018 20:47:19 +0000 (21:47 +0100)]
Pass generic context argument for shared instance methods on generic interfaces (#16690)
* Add checks and regression test
* Uncomment InvokeConsumer tests
* Revert JIT Interface Check
Carol Eidt [Thu, 8 Mar 2018 20:45:28 +0000 (12:45 -0800)]
Merge pull request #16809 from sdmaclea/PR-Enable-crypto-test
[Arm64] Enable crypto test
Tanner Gooding [Tue, 6 Mar 2018 16:48:42 +0000 (08:48 -0800)]
Updating the x86 hardware-intrinsics tests to properly accept filter arguments
Stephen Toub [Thu, 8 Mar 2018 19:26:14 +0000 (14:26 -0500)]
Fix inlining of IAsyncStateMachineBox (#16830)
Prior to .NET Core 2.1, if a task was awaited in a default context (or if ConfigureAwait(false) was used), and if the task was then completed on a non-default context (e.g. code running a non-default TaskScheduler calling SetResult on a TaskCompletionSource), its await continuations are not allowed to be inlined, due to concerns that we could be running an arbitrary amount of unknown code in a scheduling environment that's not amenable to it, like a UI thread. The optimizations added in 2.1 erroneously ended up bypassing that IsValidLocationForInlining check, leading to continuations getting inlined in places they weren't previously.
This commit fixes that. Previously we'd made the IAsyncStateMachineBox interface inherit ITaskCompletionAction, with its Invoke interface method just delegating to MoveNext; then the box could be added to a task as a continuation. But that ITaskCompletionAction logic isn't specific to async/await and doesn't invoke IsValidLocationForInlining. We instead need to follow the Action logic that is meant to be used for async/await. I've removed the ITaskCompletionAction from IAsyncStateMachineBox, replacing it just with a MoveNext interface method, and added a case for IAsyncStateMachineBox to Task's RunContinuations logic. I then duplicated the AwaitTaskContinuation.RunOrScheduleAction logic that's there for Action and tweaked it for IAsyncStateMachineBox. In the process I cleaned up a little code to use some newer C# features.
Sergey Andreenko [Thu, 8 Mar 2018 18:24:38 +0000 (10:24 -0800)]
Delete incorrect assert in stackLevelSetter. (#16816)
* add repro
* delete the assert
Jan Kotas [Thu, 8 Mar 2018 18:18:50 +0000 (10:18 -0800)]
Make member visibility first accross corlib (#16836)
Mechanical find&replace to match https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/coding-style.md
Matt Mitchell [Thu, 8 Mar 2018 18:17:20 +0000 (10:17 -0800)]
Set helix source correctly for prodcon build (#16412) (#16837)
* Set helix source correctly for prodcon build
dotnet-maestro-bot [Thu, 8 Mar 2018 17:13:30 +0000 (11:13 -0600)]
Update CoreClr, CoreFx to preview2-26308-06, preview2-26308-06, respectively (#16835)
Michelle McDaniel [Thu, 8 Mar 2018 17:07:40 +0000 (09:07 -0800)]
Turn perf jobs back on (#16824)
Tanner Gooding [Wed, 7 Mar 2018 20:15:31 +0000 (12:15 -0800)]
Updating isRMWRegOper, OperIsCommutative, and canBeContained to handle HWIntrinsic nodes
Jan Kotas [Thu, 8 Mar 2018 14:09:03 +0000 (06:09 -0800)]
Move String to shared corelib partition (#16749)
Jeremy Kuhne [Wed, 7 Mar 2018 23:58:06 +0000 (15:58 -0800)]
Dial back `\\?\ ` insertion (dotnet/corefx#27827)
Only premptively adding for FileSystemInfo if we end in period or space.
Long path is taken care of later.
Clean up code a little and add test for DirectoryInfo.Move.
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Jan Vorlicek [Thu, 8 Mar 2018 11:44:33 +0000 (12:44 +0100)]
Fix ensuring primary stack size (#16698)
1. Make it happen for Alpine only (it was incorrectly being done for
OSX too.
2. Do it only when the Initialize is called for CLR initialization
Jan Kotas [Wed, 7 Mar 2018 23:27:00 +0000 (15:27 -0800)]
Add back method needed by CoreRT
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
dotnet-maestro-bot [Thu, 8 Mar 2018 04:32:11 +0000 (22:32 -0600)]
Update BuildTools, CoreFx to preview2-02607-03, preview2-26308-02, respectively (#16821)
Matt Mitchell [Thu, 8 Mar 2018 02:22:20 +0000 (18:22 -0800)]
Workaround coreclr issue (#16828)
VSTS does not seem to be correctly honoring the working directory for batch script steps. Explicitly qualify the setup_vs_env.cmd path
Sergey Andreenko [Thu, 8 Mar 2018 01:26:27 +0000 (17:26 -0800)]
[RyuJIt] Clean and fix gen return (#16725)
* create genSimpleReturn for arm64
* create genFloatReturn for x86
* create genLongReturn for x86 and arm
* merge genReturn
Luqun Lou [Thu, 8 Mar 2018 01:19:46 +0000 (17:19 -0800)]
Fix for issue 14144 (#16674)
Sergey Andreenko [Thu, 8 Mar 2018 00:51:56 +0000 (16:51 -0800)]
an additional assert for fgValueNumberHelperCallFunc (#16789)
Steve MacLean [Thu, 8 Mar 2018 00:01:57 +0000 (19:01 -0500)]
[Arm64] Add Base HW intrinsics
Jan Kotas [Wed, 7 Mar 2018 22:47:49 +0000 (14:47 -0800)]
Delete AsReadOnly* APIs that are no longer part of the public surface (#16799)
Hugh Zabriskie [Wed, 7 Mar 2018 22:39:22 +0000 (14:39 -0800)]
Perf fix for month-day parsing ambiguity (#16782)
* Perf fix for month-day parsing ambiguity
* Use DateTime.TryCreate
Eugene Rozenfeld [Wed, 7 Mar 2018 22:16:49 +0000 (14:16 -0800)]
Remove dead code found by ILLink. (#16759)
I'm preparing changes to enable running ILLink on SPC
(similarly to what we do on corefx assemblies).
There will be a separate PR for those changes.
This PR just removes the dead code flagged by ILLink from the sources.
Jarret Shook [Wed, 7 Mar 2018 21:37:02 +0000 (13:37 -0800)]
Address issue 16800 (#16810)
kasper3 [Wed, 7 Mar 2018 21:03:35 +0000 (23:03 +0200)]
Remove libuuid from scripts and docs (#16805)
Steve MacLean [Wed, 7 Mar 2018 21:01:13 +0000 (16:01 -0500)]
[Arm64] Enable crypto test
dotnet-maestro-bot [Wed, 7 Mar 2018 19:56:51 +0000 (13:56 -0600)]
Update CoreFx to preview2-26307-06 (#16798)
Fei Peng [Wed, 7 Mar 2018 14:40:45 +0000 (06:40 -0800)]
fix inconsistent AVX/AVX2 intrinsic names (#16772)
dotnet-maestro-bot [Wed, 7 Mar 2018 06:33:16 +0000 (00:33 -0600)]
Update BuildTools, CoreClr, CoreFx to preview2-02606-05, preview2-26307-01, preview2-26307-03, respectively (#16791)
Jarret Shook [Wed, 7 Mar 2018 03:03:36 +0000 (19:03 -0800)]
Merge pull request #16662 from jashook/remove_vs2015_dependencies
Remove vs2015 build dependencies