platform/upstream/coreclr.git
6 years agoMerge pull request #14954 from dotnet/revert-14722-arm64_windows_nt_rework
Jarret Shook [Thu, 9 Nov 2017 06:57:59 +0000 (22:57 -0800)]
Merge pull request #14954 from dotnet/revert-14722-arm64_windows_nt_rework

Revert "Rework Arm64 Windows jobs to flow jobs"

6 years agoRevert "Rework Arm64 Windows jobs to flow jobs"
Jarret Shook [Thu, 9 Nov 2017 06:56:46 +0000 (22:56 -0800)]
Revert "Rework Arm64 Windows jobs to flow jobs"

6 years agoMerge pull request #14722 from jashook/arm64_windows_nt_rework
Jarret Shook [Thu, 9 Nov 2017 05:50:32 +0000 (21:50 -0800)]
Merge pull request #14722 from jashook/arm64_windows_nt_rework

Rework Arm64 Windows jobs to flow jobs

6 years agoRework Arm64 Windows jobs to flow jobs
jashook [Fri, 27 Oct 2017 18:22:19 +0000 (11:22 -0700)]
Rework Arm64 Windows jobs to flow jobs

This drops our dependency on the internal Arm64CI

6 years ago[RyuJIT/arm32] Fix GC hole in address mode generation requiring temps (#14949)
Bruce Forstall [Thu, 9 Nov 2017 05:27:01 +0000 (21:27 -0800)]
[RyuJIT/arm32] Fix GC hole in address mode generation requiring temps (#14949)

* [RyuJIT/arm32] Fix GC hole in address mode generation requiring temps

In cases requiring a temp register to compute a portion of an LEA,
where the partial computation involves a GCREF/BYREF base register,
the temp register must be marked as a BYREF, so it can get
updated during a GC.

This fixes a case like this:
```
add r2, r0, r1 LSL 2
ldr r0, [r2+24]
```

where `r2` needs to be marked BYREF.

Related to #14856.

* Formatting

6 years agoMerge pull request #14906 from stephentoub/add_memory_string
Stephen Toub [Thu, 9 Nov 2017 04:19:46 +0000 (23:19 -0500)]
Merge pull request #14906 from stephentoub/add_memory_string

Add string support to ReadOnlyMemory<char>

6 years agoMerge pull request #14918 from BruceForstall/NoLegacyUnsafeCpBlk
Bruce Forstall [Thu, 9 Nov 2017 02:14:17 +0000 (18:14 -0800)]
Merge pull request #14918 from BruceForstall/NoLegacyUnsafeCpBlk

Don't allow unsafe CpBlk for legacy backend

6 years agoMerge pull request #14935 from sdmaclea/PR-ARM64-SIMD-genCodeForLclFld
Carol Eidt [Thu, 9 Nov 2017 01:12:45 +0000 (17:12 -0800)]
Merge pull request #14935 from sdmaclea/PR-ARM64-SIMD-genCodeForLclFld

[ARM64] SIMD genCodeForLclFld

6 years agoAdd foreach support to Span<T> and ReadOnlySpan<T> (#14922)
Stephen Toub [Thu, 9 Nov 2017 01:02:50 +0000 (20:02 -0500)]
Add foreach support to Span<T> and ReadOnlySpan<T> (#14922)

Adds a ref struct Enumerator, and a corresponding GetEnumerator method to each.

6 years agoMerge pull request #14912 from briansull/add-b124443
Brian Sullivan [Wed, 8 Nov 2017 23:29:30 +0000 (15:29 -0800)]
Merge pull request #14912 from briansull/add-b124443

Added missing JIT test V1-M15-SP2/b124443/b124443.cs

6 years agoAdding placeholder Span debugger proxy (#14749)
Ahson Khan [Wed, 8 Nov 2017 22:29:51 +0000 (14:29 -0800)]
Adding placeholder Span debugger proxy (#14749)

* Adding placeholder Span debugger proxy.

* Remove unnecessary unsafe keyword.

6 years agoSmall number of bug fixes. (#14900)
José Rivero [Wed, 8 Nov 2017 22:09:14 +0000 (14:09 -0800)]
Small number of bug fixes. (#14900)

- Added stability prefix to the scenario benchmark (JitBench)
- Specify output directory to the `run-xunit-perf.cmd` script and avoid the extra step to xcopy files to the archive folder.
- Added a command line parser class to the illink scenario, and changed its behavior where it used to fail when a new command line option passed to xUnit was not recognized.
- Save the output log of the tests into the sandbox-logs folder.
- Updating the label of the machine pool used by the illink scenario

6 years agoMerge pull request #14942 from jcagme/master
Wes Haggard [Wed, 8 Nov 2017 21:48:12 +0000 (13:48 -0800)]
Merge pull request #14942 from jcagme/master

Adding IsPublic to CreateAzureContainer

6 years agoAdding IsPublic to CreateAzureContainer
Juan Carlos Aguilera Mendez [Wed, 8 Nov 2017 21:44:48 +0000 (13:44 -0800)]
Adding IsPublic to CreateAzureContainer

6 years agoChange Sym publish to use UnzipSymbolPackagesForPublish (#14941)
Karthik Rajasekaran [Wed, 8 Nov 2017 21:44:35 +0000 (13:44 -0800)]
Change Sym publish to use UnzipSymbolPackagesForPublish (#14941)

6 years agoAdd missing license header (#14936)
Jan Kotas [Wed, 8 Nov 2017 21:03:58 +0000 (13:03 -0800)]
Add missing license header (#14936)

6 years agoIncrease retry attempts in publish (#14940)
Karthik Rajasekaran [Wed, 8 Nov 2017 20:24:39 +0000 (12:24 -0800)]
Increase retry attempts in publish (#14940)

6 years agoPass in property SkipCreateWindowsPdbsFromPortablePdbs to fix (#14939)
Karthik Rajasekaran [Wed, 8 Nov 2017 20:06:29 +0000 (12:06 -0800)]
Pass in property SkipCreateWindowsPdbsFromPortablePdbs to fix (#14939)

6 years agoRemove RelativePath from Publish (#14938)
Karthik Rajasekaran [Wed, 8 Nov 2017 19:54:33 +0000 (11:54 -0800)]
Remove RelativePath from Publish (#14938)

6 years agoAdded missing test JIT/Regression/CLR-x86-JIT/V1-M15-SP2/b124443/b124443.cs
Brian Sullivan [Wed, 8 Nov 2017 00:30:21 +0000 (16:30 -0800)]
Added missing test JIT/Regression/CLR-x86-JIT/V1-M15-SP2/b124443/b124443.cs
Also added an IL version of this test for regression repro on CoreCLR

6 years agoMerge pull request #14928 from sdmaclea/PR-ARM64-SIMD-genPutArgStk
Carol Eidt [Wed, 8 Nov 2017 19:13:15 +0000 (11:13 -0800)]
Merge pull request #14928 from sdmaclea/PR-ARM64-SIMD-genPutArgStk

[Arm64] SIMD genPutArgStk

6 years agoMerge pull request #14937 from jcagme/master
JC Aguilera [Wed, 8 Nov 2017 18:59:12 +0000 (10:59 -0800)]
Merge pull request #14937 from jcagme/master

Updating BuildTools version

6 years agoUpdating BuildTools version
Juan Carlos Aguilera Mendez [Wed, 8 Nov 2017 18:39:38 +0000 (10:39 -0800)]
Updating BuildTools version

6 years ago[ARM64] SIMD genCodeForLclFld
Steve MacLean [Fri, 3 Nov 2017 17:28:38 +0000 (13:28 -0400)]
[ARM64] SIMD genCodeForLclFld

6 years agoMerge pull request #14861 from sdmaclea/PR-ARM64-SIMD-genFnPrologCalleeRegArgs
Carol Eidt [Wed, 8 Nov 2017 17:37:43 +0000 (09:37 -0800)]
Merge pull request #14861 from sdmaclea/PR-ARM64-SIMD-genFnPrologCalleeRegArgs

[Arm64] SIMD genFnPrologCalleeRegArgs

6 years agoRemove ConfigurationGroup from Publish Symbols (#14931)
Karthik Rajasekaran [Wed, 8 Nov 2017 17:28:47 +0000 (09:28 -0800)]
Remove ConfigurationGroup from Publish Symbols (#14931)

6 years agoJIT: make suitably optimistic prejit inline assessments (#14850)
Andy Ayers [Wed, 8 Nov 2017 16:48:49 +0000 (08:48 -0800)]
JIT: make suitably optimistic prejit inline assessments (#14850)

When prejitting, the jit assesses whether each root method is a potential
inline candidate for any possible caller. Methods deemed un-inlinable in any
caller are marked in the runtime as "noinline" to save the jit some work
later on when it sees calls to these methods.

This assessment was too conservative and led to prejit-ordering dependences
for inlines. It also meant that prejitting was missing some inlines that
would have happened had we not done the prejit root assessment.

This change removes some of the prejit observation blockers. These mostly
will enable more prejit methods to become candidates. We also now track when
a method argument reaches a test.

When we are assessing profitability for a prejit root, assume the call site
best possible case.

Also, update the inline XML to capture the prejit assessments.

This increases the number of inlines considered and performed when prejitting
and will also lead to slightly more inlining when jitting. However we do not
expect a large througput impact when jitting -- the main impact of this change
is that inlining when prejitting is now just as aggressive as inlining when
jitting, and the decisions no longer depend on the order in which methods are
prejitted.

Closes #14441.
Closes #3482.

6 years ago[Arm64] SIMD genPutArgStk
Steve MacLean [Mon, 6 Nov 2017 21:59:42 +0000 (16:59 -0500)]
[Arm64] SIMD genPutArgStk

6 years agoAdd MemoryMarshal.AsMemory
Stephen Toub [Wed, 8 Nov 2017 15:01:50 +0000 (10:01 -0500)]
Add MemoryMarshal.AsMemory

6 years agoAdd string support to ReadOnlyMemory<char>
Stephen Toub [Tue, 7 Nov 2017 22:00:08 +0000 (17:00 -0500)]
Add string support to ReadOnlyMemory<char>

6 years agofix symbol sync (#14925)
Karthik Rajasekaran [Wed, 8 Nov 2017 09:09:39 +0000 (01:09 -0800)]
fix symbol sync (#14925)

6 years agoMerge pull request #14911 from briansull/fix-desktop-warn
Brian Sullivan [Wed, 8 Nov 2017 08:43:22 +0000 (00:43 -0800)]
Merge pull request #14911 from briansull/fix-desktop-warn

Fix warning about signed/unsigned mismatch in new assert

6 years agoMerge pull request #14913 from briansull/retail-fix
Brian Sullivan [Wed, 8 Nov 2017 08:42:49 +0000 (00:42 -0800)]
Merge pull request #14913 from briansull/retail-fix

Fix desktop retail build break

6 years agoFix glob paths for nupkgs in publish (#14924)
Karthik Rajasekaran [Wed, 8 Nov 2017 07:48:57 +0000 (23:48 -0800)]
Fix glob paths for nupkgs in publish (#14924)

6 years agoDownload pkg and symbolpkg flat (#14919)
Karthik Rajasekaran [Wed, 8 Nov 2017 05:06:32 +0000 (21:06 -0800)]
Download pkg and symbolpkg flat (#14919)

6 years agoMerge pull request #14896 from dotnet-maestro-bot/master-UpdateDependencies
JC Aguilera [Wed, 8 Nov 2017 04:13:55 +0000 (20:13 -0800)]
Merge pull request #14896 from dotnet-maestro-bot/master-UpdateDependencies

Update BuildTools, CoreFx, PgoData to prerelease-02207-02, preview1-25907-04, master-20171107-0019, respectively (master)

6 years agoFixed trash register usage at PollGC helper (#14347)
Roman Artemev [Wed, 8 Nov 2017 03:35:49 +0000 (19:35 -0800)]
Fixed trash register usage at PollGC helper (#14347)

* Fixed trash register usage at PollGC helper

6 years agoDon't allow unsafe CpBlk for legacy backend
Bruce Forstall [Wed, 8 Nov 2017 03:03:24 +0000 (19:03 -0800)]
Don't allow unsafe CpBlk for legacy backend

The arm32 legacy backend does not implement the code to disable/re-enable
GC interruptibility based on the gtBlkOpGcUnsafe flag. So, disable
that mode of OBJ to BLK morphing.

Fixes an arm32 legacy backend GCStress=C case in #14856.

6 years agoFix warning about signed/unsigned mismatch in complex assert
Brian Sullivan [Wed, 8 Nov 2017 00:59:11 +0000 (16:59 -0800)]
Fix warning about signed/unsigned mismatch in complex assert

6 years agoFix desktop retail build break
Brian Sullivan [Wed, 8 Nov 2017 01:30:39 +0000 (17:30 -0800)]
Fix desktop retail build break

error C2220: warning treated as error -
from jit\codegencommon.cpp(11228): warning C4702: unreachable code

6 years agoMerge pull request #14908 from BruceForstall/AddNoSimdTesting
Bruce Forstall [Wed, 8 Nov 2017 00:22:25 +0000 (16:22 -0800)]
Merge pull request #14908 from BruceForstall/AddNoSimdTesting

Add `COMPlus_FeatureSIMD=0` testing

6 years agoMerge pull request #14899 from mikedn/rc-fix
Brian Sullivan [Wed, 8 Nov 2017 00:16:55 +0000 (16:16 -0800)]
Merge pull request #14899 from mikedn/rc-fix

Make sure that Limit::vn is initialized

6 years agoMerge pull request #14883 from sdmaclea/PR-ARM64-SIMD-misc-varTypeIsStruct
Carol Eidt [Wed, 8 Nov 2017 00:04:14 +0000 (16:04 -0800)]
Merge pull request #14883 from sdmaclea/PR-ARM64-SIMD-misc-varTypeIsStruct

[Arm64] SIMD miscellaneous  varTypeIsStruct

6 years agoDelete dead code (#14901)
Jan Kotas [Tue, 7 Nov 2017 23:19:30 +0000 (15:19 -0800)]
Delete dead code (#14901)

6 years agoUpdate BuildTools, CoreFx, PgoData to prerelease-02207-02, preview1-25907-04, master...
dotnet-maestro-bot [Tue, 7 Nov 2017 23:18:52 +0000 (15:18 -0800)]
Update BuildTools, CoreFx, PgoData to prerelease-02207-02, preview1-25907-04, master-20171107-0019, respectively

6 years agoAdd `COMPlus_FeatureSIMD=0` testing
Bruce Forstall [Tue, 7 Nov 2017 22:55:34 +0000 (14:55 -0800)]
Add `COMPlus_FeatureSIMD=0` testing

6 years agoMerge pull request #14887 from sdmaclea/PR-ARM64-genSIMDIntrinsicNarrow-Widen
Carol Eidt [Tue, 7 Nov 2017 22:12:33 +0000 (14:12 -0800)]
Merge pull request #14887 from sdmaclea/PR-ARM64-genSIMDIntrinsicNarrow-Widen

[Arm64] genSIMDIntrinsicNarrow/Widen

6 years ago[Arm64] SIMD miscellaneous varTypeIsStruct
Steve MacLean [Tue, 31 Oct 2017 21:29:42 +0000 (17:29 -0400)]
[Arm64] SIMD miscellaneous varTypeIsStruct

6 years agoMerge pull request #14853 from sdmaclea/PR-ARM64-SIMD-applyCalleeSaveHeuristics
Carol Eidt [Tue, 7 Nov 2017 21:13:30 +0000 (13:13 -0800)]
Merge pull request #14853 from sdmaclea/PR-ARM64-SIMD-applyCalleeSaveHeuristics

[Arm64] SIMD applyCalleeSaveHeuristics

6 years agoMerge pull request #14904 from dotnet/MattGal-patch-1
Matt Galbraith [Tue, 7 Nov 2017 20:44:07 +0000 (12:44 -0800)]
Merge pull request #14904 from dotnet/MattGal-patch-1

Fix Conditional Task Expressions

6 years agoFix Conditional Task Expressions
Matt Galbraith [Tue, 7 Nov 2017 20:36:14 +0000 (12:36 -0800)]
Fix Conditional Task Expressions

Other conditions in the folder look OK.

6 years agoRemove XplatEventLogger::IsEventLogging where possible (#14706)
Tom Deseyn [Tue, 7 Nov 2017 19:10:10 +0000 (20:10 +0100)]
Remove XplatEventLogger::IsEventLogging where possible (#14706)

6 years agoMerge pull request #14881 from sdmaclea/PR-ARM64-SIMD-ContainCheckStoreLoc
Bruce Forstall [Tue, 7 Nov 2017 18:41:18 +0000 (10:41 -0800)]
Merge pull request #14881 from sdmaclea/PR-ARM64-SIMD-ContainCheckStoreLoc

[Arm64] SIMD ContainCheckStoreLoc

6 years agoMerge pull request #14879 from sdmaclea/PR-ARM64-SIMD-ins_Move_Extend
Bruce Forstall [Tue, 7 Nov 2017 18:39:49 +0000 (10:39 -0800)]
Merge pull request #14879 from sdmaclea/PR-ARM64-SIMD-ins_Move_Extend

[ARM64] SIMD ins_Move_Extend

6 years agoMake sure that Limit::vn is initialized
Mike Danes [Tue, 7 Nov 2017 18:38:58 +0000 (20:38 +0200)]
Make sure that Limit::vn is initialized

There is code in RangeCheck::MergeEdgeAssertions that checks the limit's vn even if the limit type is keConstant.

6 years agoAlways attempt to create container to ensure it exists
Wes Haggard [Tue, 7 Nov 2017 18:34:02 +0000 (10:34 -0800)]
Always attempt to create container to ensure it exists

6 years agoFix RelativePath and item metadata in publishing project
Wes Haggard [Tue, 7 Nov 2017 17:46:31 +0000 (09:46 -0800)]
Fix RelativePath and item metadata in publishing project

6 years ago[Arm64] SIMD genFnPrologCalleeRegArgs
Steve MacLean [Fri, 3 Nov 2017 17:08:48 +0000 (13:08 -0400)]
[Arm64] SIMD genFnPrologCalleeRegArgs

6 years agoMerge pull request #14287 from tannergooding/benchmarks-game
Tanner Gooding [Tue, 7 Nov 2017 16:24:28 +0000 (08:24 -0800)]
Merge pull request #14287 from tannergooding/benchmarks-game

Adding the new fastest mandelbrot implementation to benchmarks-game.

6 years ago[Arm64] SIMD applyCalleeSaveHeuristics
Steve MacLean [Fri, 3 Nov 2017 15:20:13 +0000 (11:20 -0400)]
[Arm64] SIMD applyCalleeSaveHeuristics

6 years agoDelete AllTestProjects.sln (#14894)
Jan Kotas [Tue, 7 Nov 2017 15:05:22 +0000 (07:05 -0800)]
Delete AllTestProjects.sln (#14894)

Fixes #14074

6 years agoTemporarily add back old TryParse signatures (#14893)
Stephen Toub [Tue, 7 Nov 2017 13:53:25 +0000 (08:53 -0500)]
Temporarily add back old TryParse signatures (#14893)

My previous change updated the primitive TryParse signatures based on
the new design, but until corefx consumes that change, live corefx bits
won't work with the latest coreclr bits.  Until it can be consumed, I'm
putting back the old signatures as well.

6 years agoMerge pull request #14415 from mikedn/rc-cleanup
Joseph Tremoulet [Tue, 7 Nov 2017 13:09:01 +0000 (08:09 -0500)]
Merge pull request #14415 from mikedn/rc-cleanup

RangeCheck cleanup

6 years agoMerge pull request #14891 from CarolEidt/Fix14626
Carol Eidt [Tue, 7 Nov 2017 06:09:09 +0000 (22:09 -0800)]
Merge pull request #14891 from CarolEidt/Fix14626

ARM64: Fix two register selection issues

6 years agoAdd test case for jit dup stloc optimization (#14803)
Andy Ayers [Tue, 7 Nov 2017 03:43:49 +0000 (19:43 -0800)]
Add test case for jit dup stloc optimization (#14803)

See #14784 for details.

6 years agoFix the flat publishing to blob feed
Wes Haggard [Mon, 6 Nov 2017 23:46:20 +0000 (15:46 -0800)]
Fix the flat publishing to blob feed

6 years agoDelete OldStyleClearD. (#14874)
Sergey Andreenko [Tue, 7 Nov 2017 00:38:05 +0000 (16:38 -0800)]
Delete OldStyleClearD. (#14874)

* Delete OldStyleClearD from flowgraph

BlockSetOps::Assign requires sets to have the same size, there is no an
additional risk to use ClearD then.

* delete OldStyleClearD from regalloc

regalloc doesn't create new local variables and doesn't change epoch.

* Delete OldStyleClearD from copyprop

CopyProp doesn't create new vars.
Also `VarSetOps::Assign(this, compCurLife, block->bbLiveIn); ` before
the loop requires epoch to be the same.

* Delete OldStyleClearD from assertionpop

Assertion prop doesn't change epoch.

* Delete OldStyleClearD from the emmit

Because it doesn't create new local vars.

* Delete declarations

6 years agoMerge pull request #14854 from sdmaclea/PR-ARM64-Slot-Immediate-Size
Carol Eidt [Tue, 7 Nov 2017 00:36:31 +0000 (16:36 -0800)]
Merge pull request #14854 from sdmaclea/PR-ARM64-Slot-Immediate-Size

ARM64 slot access immediate register size

6 years agoMerge pull request #14888 from briansull/fix-break
Brian Sullivan [Tue, 7 Nov 2017 00:15:28 +0000 (16:15 -0800)]
Merge pull request #14888 from briansull/fix-break

Fix build break

6 years agoMerge pull request #14281 from mikedn/mixed-type-relop
Carol Eidt [Tue, 7 Nov 2017 00:06:11 +0000 (16:06 -0800)]
Merge pull request #14281 from mikedn/mixed-type-relop

Cleanup some mixed type relops the JIT produces

6 years agoARM64: Fix two register selection issues
Carol Eidt [Mon, 6 Nov 2017 23:54:38 +0000 (15:54 -0800)]
ARM64: Fix two register selection issues

On ARM64 IP0 and IP1 are not in the register selection order, though there are some cases where they must be allocated. See #14607. So we may see them as free when looking for a register to spill.
Also, V15 was missing from the selection order (V16 was in the order twice).

Fix #14626

6 years agoUpdate CoreFx, PgoData to preview1-25906-03, master-20171105-0123, respectively ...
dotnet-maestro-bot [Mon, 6 Nov 2017 22:41:26 +0000 (14:41 -0800)]
Update CoreFx, PgoData to preview1-25906-03, master-20171105-0123, respectively (#14865)

6 years agoFix TryParse overloads using optional arguments (#14877)
Stephen Toub [Mon, 6 Nov 2017 22:36:38 +0000 (17:36 -0500)]
Fix TryParse overloads using optional arguments (#14877)

When we originally added Parse and TryParse overloads for `ReadOnlySpan<char>`, we used optional arguments to minimize the number of new overloads needed.  This worked decently well for Parse, but for TryParse it necessitated reordering the parameters from the string counterparts, so that the out result argument would come before the optional parameters.  This makes it more difficult to port string-based calls to span-based calls, and we agreed to add the missing overloads so that we could order the parameters "correctly" to match the existing string-based overloads.  This does so.

6 years agoShorten delay in some monitor tests to avoid timeout (#14852)
Koundinya Veluri [Mon, 6 Nov 2017 22:30:44 +0000 (14:30 -0800)]
Shorten delay in some monitor tests to avoid timeout (#14852)

Shorten delay in some monitor tests to avoid timeout

6 years agoFix GC reporting for slow tail call arguments of type `Span<T>` (#14826)
Koundinya Veluri [Mon, 6 Nov 2017 22:28:41 +0000 (14:28 -0800)]
Fix GC reporting for slow tail call arguments of type `Span<T>` (#14826)

Fix GC reporting for slow tail call arguments of type `Span<T>`

Fixes https://github.com/dotnet/coreclr/issues/9032:
- Refactored by-ref-like method table walking to find offsets of by-ref pointers in siginfo.hpp/cpp
- Reused that for appending GC layout when creating the copy-args helper for a slow tail call

6 years agoFix build break
Brian Sullivan [Mon, 6 Nov 2017 21:51:57 +0000 (13:51 -0800)]
Fix build break

6 years agoMerge pull request #14024 from mikedn/long-cast-comm
Carol Eidt [Mon, 6 Nov 2017 21:43:35 +0000 (13:43 -0800)]
Merge pull request #14024 from mikedn/long-cast-comm

Move genLongToIntCast call to codegenlinear

6 years agoMerge pull request #14735 from mikedn/emit-const-cleanup
Carol Eidt [Mon, 6 Nov 2017 21:42:29 +0000 (13:42 -0800)]
Merge pull request #14735 from mikedn/emit-const-cleanup

Cleanup const data emission

6 years agoRangeCheck cleanup
Mike Danes [Wed, 25 Oct 2017 18:01:32 +0000 (21:01 +0300)]
RangeCheck cleanup

* Remove unused function paramter `stmt`
* Remove unused function parameter `path`
* Remove unused function parameter `block`
* Use GenTreeLclVarCommon* instead of GenTree* where possible
* Track RangeCheck memory allocations
* Remove useless noway_asserts from MergeEdgeAssertions
* Stop passing the search path via a parameter
* Eliminate unnecessary search path lookup
* Cleanup some local variable uses
* Remove redundant hashtable lookup
* Remove unused keSsaVar
* Pass the actual binary node to BinOp functions
* Fix broken assert
* Remove unused keBinOp
* Remove redundant check

6 years agoCleanup BCLDebug (#14868)
Jan Kotas [Mon, 6 Nov 2017 20:56:00 +0000 (12:56 -0800)]
Cleanup BCLDebug (#14868)

- Delete BCLDebug and related types since it was replaced by the public System.Diagnostic.Debug
- Preserve commented out or conditionally compiled logging in a few place where it seemed potentially useful

Fixes #11389

6 years ago[Arm64] genSIMDIntrinsicNarrow/Widen
Steve MacLean [Fri, 3 Nov 2017 21:41:59 +0000 (17:41 -0400)]
[Arm64] genSIMDIntrinsicNarrow/Widen

6 years agoReenable PGO optimization on release builds (#14885)
Michelle McDaniel [Mon, 6 Nov 2017 19:20:40 +0000 (11:20 -0800)]
Reenable PGO optimization on release builds (#14885)

6 years agoMerge pull request #14855 from briansull/improved-jitdump
Brian Sullivan [Mon, 6 Nov 2017 19:15:10 +0000 (11:15 -0800)]
Merge pull request #14855 from briansull/improved-jitdump

Improved the dump when fgOptimizeBranch clones statements

6 years agoAdd .NET Core 2.0 performance post (#14875)
Ben Adams [Mon, 6 Nov 2017 18:25:38 +0000 (19:25 +0100)]
Add .NET Core 2.0 performance post (#14875)

6 years agoAllow any string length in Environment.SetEnvironmentVariable (#14872)
Yuri Vanin [Mon, 6 Nov 2017 18:20:02 +0000 (10:20 -0800)]
Allow any string length in Environment.SetEnvironmentVariable (#14872)

Fix for CoreFX #16766

6 years agoMerge pull request #14873 from BruceForstall/ImproveCorefxAltjitTesting
Bruce Forstall [Mon, 6 Nov 2017 18:18:56 +0000 (10:18 -0800)]
Merge pull request #14873 from BruceForstall/ImproveCorefxAltjitTesting

Improve altjit corefx testing

6 years agoMerge pull request #14506 from mikedn/alloc-mess
Brian Sullivan [Mon, 6 Nov 2017 18:18:17 +0000 (10:18 -0800)]
Merge pull request #14506 from mikedn/alloc-mess

Streamline JIT memory allocation

6 years agoMerge pull request #14871 from mikedn/vn-dead-divmod
Brian Sullivan [Mon, 6 Nov 2017 18:17:55 +0000 (10:17 -0800)]
Merge pull request #14871 from mikedn/vn-dead-divmod

Remove unused VNF_DIV_UN and VNF_MOD_UN

6 years agoMerge pull request #14840 from CarolEidt/ShrinkLSRADump
Carol Eidt [Mon, 6 Nov 2017 17:49:36 +0000 (09:49 -0800)]
Merge pull request #14840 from CarolEidt/ShrinkLSRADump

LSRA Dump: don't print unused regs

6 years agoMerge pull request #14857 from sdmaclea/PR-ARM64-SIMD12-IND
Bruce Forstall [Mon, 6 Nov 2017 17:11:42 +0000 (09:11 -0800)]
Merge pull request #14857 from sdmaclea/PR-ARM64-SIMD12-IND

[Arm64] SIMD12 Indirect Load/Store

6 years ago[Arm64] SIMD ContainCheckStoreLoc
Steve MacLean [Tue, 31 Oct 2017 22:37:44 +0000 (18:37 -0400)]
[Arm64] SIMD ContainCheckStoreLoc

6 years ago[ARM64] SIMD ins_Move_Extend
Steve MacLean [Fri, 3 Nov 2017 17:22:36 +0000 (13:22 -0400)]
[ARM64] SIMD ins_Move_Extend

6 years ago[Arm64] Prefer EA_PTRSIZE for addresses
Steve MacLean [Mon, 6 Nov 2017 16:15:07 +0000 (11:15 -0500)]
[Arm64] Prefer EA_PTRSIZE for addresses

6 years agoImprove altjit corefx testing
Bruce Forstall [Mon, 6 Nov 2017 06:22:57 +0000 (22:22 -0800)]
Improve altjit corefx testing

For altjit, we can't run managed code from .NET installs that
are not under test. The XSLT Compiler tests invoke an XSLT
Compiler from the machine installed desktop framework. When it
sees the AltJit variables, but no altjit compiler dll, it dies.
So, don't run those tests. They have been annotated with a new
attribute to allow this exclusion.

6 years agoRemove unused VNF_DIV_UN and VNF_MOD_UN
Mike Danes [Sun, 5 Nov 2017 17:42:24 +0000 (19:42 +0200)]
Remove unused VNF_DIV_UN and VNF_MOD_UN

Integer division operators do not use GTF_UNSIGNED. There are distinct unsigned operators (GT_UDIV and GT_UMOD) and VN already handles those directly.

6 years agoLimit min threads in thread pool to 1 (#14864)
Koundinya Veluri [Sun, 5 Nov 2017 02:01:39 +0000 (19:01 -0700)]
Limit min threads in thread pool to 1 (#14864)

Related to https://github.com/dotnet/coreclr/issues/14239

6 years agoMerge pull request #14851 from CarolEidt/Fix14372
Carol Eidt [Sun, 5 Nov 2017 00:40:42 +0000 (17:40 -0700)]
Merge pull request #14851 from CarolEidt/Fix14372

Unassign both floats if assigning double

6 years ago[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, abstract...
Jacek Blaszczynski [Sat, 4 Nov 2017 18:11:25 +0000 (19:11 +0100)]
[Infrastructure] Use MSBuild v15 extension point to control CL parallelism, abstract MSBuild /maxcpucount switch (#14578)

This commit frees -ExtraParameters and uses MSBuild v15 extension point to control CL compiler parallelism.

If MSBuild 15.0 is available - installed with Visual Studio 2017 - CL parallelism control is achieved by using extension point in Microsoft.Common.props file which allows to include Directory.Build.props - for details see [Microsoft.Common.props] [1] file in MSBuild repo. https://github.com/Microsoft/msbuild/blob/b38e4ceeaaec36c5237ae698041e9b9f18c84876/src/Tasks/Microsoft.Common.props#L36.

MSBuild parallelism is controled via abstracted /maxcpucount command line switch
which now is available as -MSBuildNodeCount pass through run.cmd/run.sh command line
argument with default value equal to /maxcpucount (what defaults to number of logical processors).
This allows to control MSBuild parallelism on all supported platforms.

It is possible to control MSBuild parallelism programatically via MSBuild public
API using MaxNodeCount properties available on the following APIs:

Microsoft.Build.Evaluation.ProjectCollection.MaxNodeCount
Microsoft.Build.Execution.BuildParameters.MaxNodeCount
It's use in current build infrastructure would require creating unnecessary
complexity and was ruled out.

6 years agoMerge pull request #14859 from justinvp/rom
Stephen Toub [Sat, 4 Nov 2017 14:40:22 +0000 (10:40 -0400)]
Merge pull request #14859 from justinvp/rom

ReadOnlyMemory: Fix copy/paste mistake in doc comment

6 years agoFix perf-prep for throughput (#14845)
Michelle McDaniel [Sat, 4 Nov 2017 00:39:38 +0000 (17:39 -0700)]
Fix perf-prep for throughput (#14845)

There is a missing ! before checking to see if the throughput benchmarks
have already been downloaded. Currently, we download them if they
already exist, where we want to download them if they don't already
exist. This change fixes that.