platform/upstream/coreclr.git
7 years agoMerge pull request #12814 from pgavlin/BuildUses
Pat Gavlin [Fri, 14 Jul 2017 21:37:05 +0000 (14:37 -0700)]
Merge pull request #12814 from pgavlin/BuildUses

Clean up the code that builds uses a bit in LSRA.

7 years agoMerge pull request #12811 from JeffCyr/concurrentqueue-maxsegmentlength
Stephen Toub [Fri, 14 Jul 2017 21:27:04 +0000 (17:27 -0400)]
Merge pull request #12811 from JeffCyr/concurrentqueue-maxsegmentlength

Applied MaxSegmentLength restriction in ConcurrentQueue

7 years agoFormat code.
Pat Gavlin [Fri, 14 Jul 2017 20:47:56 +0000 (13:47 -0700)]
Format code.

7 years agoApplied MaxSegmentLength restriction in ConcurrentQueue
JeffCyr [Fri, 14 Jul 2017 16:43:21 +0000 (12:43 -0400)]
Applied MaxSegmentLength restriction in ConcurrentQueue

7 years agoMerge pull request #12804 from pgavlin/VSO462274
Pat Gavlin [Fri, 14 Jul 2017 16:27:26 +0000 (09:27 -0700)]
Merge pull request #12804 from pgavlin/VSO462274

Mark shift helpers that produce an unused value as such.

7 years agoMerge pull request #12550 from sergign60/arm_build
Bruce Forstall [Fri, 14 Jul 2017 16:13:53 +0000 (09:13 -0700)]
Merge pull request #12550 from sergign60/arm_build

[CoreRT armel] refix for PINVOKE calls in CoreRT #12373

7 years ago[RyuJIT/ARM32] Kill the R4 register on exit if the call is the stub (#12662)
Sujin Kim [Fri, 14 Jul 2017 16:11:28 +0000 (01:11 +0900)]
[RyuJIT/ARM32] Kill the R4 register on exit if the call is the stub (#12662)

* [RyuJIT/ARM32] Kill the R4 register on exit if the call is the virtual stub call.

Related #11838

In this issue, farthestRefPhysRegRecord was nullptr in the end of allocateBusyReg(). That's because R4 register had been busy since before allocation of R4 Register.
It was caused that the R4 register was not killed on exit of the stub call.

On ARM architecture, the argument of stub call transfer by R4 register.
And when the stub is called, R4 register would be the status to busy.
R4 register has to be killed for leaving the busy state after stub call.

* Fix the formatting

* Get the vs param from virtualStubParamInfo

* Fix formatting

* Remove REG_ARG_4 define

* Change to better codes

* Add checking other platform cases

7 years agoMerge pull request #12777 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Fri, 14 Jul 2017 15:26:00 +0000 (11:26 -0400)]
Merge pull request #12777 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively (master)

7 years agoUpdate CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively
dotnet-maestro-bot [Fri, 14 Jul 2017 13:22:44 +0000 (13:22 +0000)]
Update CoreClr, CoreFx to preview2-25514-01, preview2-25514-03, respectively

7 years ago[CoreRT armel] refix for PINVOKE calls in CoreRT #12373
Sergey Ignatov [Thu, 29 Jun 2017 16:54:03 +0000 (19:54 +0300)]
[CoreRT armel] refix for PINVOKE calls in CoreRT #12373

7 years agoMerge pull request #12787 from briansull/zap-interface
Brian Sullivan [Fri, 14 Jul 2017 00:45:08 +0000 (17:45 -0700)]
Merge pull request #12787 from briansull/zap-interface

Improvements in the Zapper to VM interface, no longer throw exceptions across the interface.

7 years agoMerge pull request #12803 from wtgodbe/disableJITTestArm
William Godbe [Thu, 13 Jul 2017 22:16:56 +0000 (15:16 -0700)]
Merge pull request #12803 from wtgodbe/disableJITTestArm

Disable TalcallVerifyWithPrefix test for ARM

7 years agoClean up the code that builds uses a bit in LSRA.
Pat Gavlin [Thu, 13 Jul 2017 21:02:09 +0000 (14:02 -0700)]
Clean up the code that builds uses a bit in LSRA.

These cleanups are enabled by the recent changes to SIMD8 handling and
the removal of `fixedCandidateMask`.

7 years agoMerge pull request #12785 from wtgodbe/DeleteTest
William Godbe [Thu, 13 Jul 2017 20:39:29 +0000 (13:39 -0700)]
Merge pull request #12785 from wtgodbe/DeleteTest

Disable StringJoin test14

7 years agoMark shift helpers that produce an unused value as such.
Pat Gavlin [Thu, 13 Jul 2017 20:26:02 +0000 (13:26 -0700)]
Mark shift helpers that produce an unused value as such.

Fixes VSO 462274.

7 years agoDisable TalcallVerifyWithPrefix test for ARM
wtgodbe [Thu, 13 Jul 2017 20:14:12 +0000 (13:14 -0700)]
Disable TalcallVerifyWithPrefix test for ARM

7 years agoDisable StringJoin test14
wtgodbe [Wed, 12 Jul 2017 21:44:35 +0000 (14:44 -0700)]
Disable StringJoin test14

7 years ago[CoreCLR] Display the contents of init-tools.log (#12795)
Ravi Eda [Thu, 13 Jul 2017 18:45:52 +0000 (13:45 -0500)]
[CoreCLR] Display the contents of init-tools.log (#12795)

* Update attribute-value in security build definition.

* Display init-tools log.

* Ensure execute permission is available.

7 years agoMerge pull request #12781 from wtgodbe/ArmToolset
William Godbe [Thu, 13 Jul 2017 18:45:26 +0000 (11:45 -0700)]
Merge pull request #12781 from wtgodbe/ArmToolset

Add VC Runtime binaries to Core_Root for ARM tests

7 years agoDelete test
Russ Keldorph [Mon, 10 Jul 2017 19:42:46 +0000 (12:42 -0700)]
Delete test

7 years agoMerge pull request #12793 from wateret/fix-legacy-12685
Bruce Forstall [Thu, 13 Jul 2017 17:58:59 +0000 (10:58 -0700)]
Merge pull request #12793 from wateret/fix-legacy-12685

[LegacyJIT/ARM] Fix const fold assert condition

7 years agoChange missed by the CoreLib mirror (#12792)
Jan Kotas [Thu, 13 Jul 2017 11:11:18 +0000 (13:11 +0200)]
Change missed by the CoreLib mirror (#12792)

7 years ago[LegacyJIT/ARM] Fix const fold assert condition
Hanjoung Lee [Thu, 13 Jul 2017 08:58:36 +0000 (17:58 +0900)]
[LegacyJIT/ARM] Fix const fold assert condition

Fix #12685

7 years ago[Arm64] Enable Span clear optimization (#12788)
Steve MacLean [Thu, 13 Jul 2017 06:27:35 +0000 (02:27 -0400)]
[Arm64] Enable Span clear optimization (#12788)

7 years agoMerge pull request dotnet/corert#4141 from MichalStrehovsky/fixBuildBreak
Michal Strehovský [Wed, 12 Jul 2017 01:44:27 +0000 (21:44 -0400)]
Merge pull request dotnet/corert#4141 from MichalStrehovsky/fixBuildBreak

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
7 years agoMerge pull request #12769 from pgavlin/SimplifyContainCheck
Pat Gavlin [Thu, 13 Jul 2017 04:38:47 +0000 (21:38 -0700)]
Merge pull request #12769 from pgavlin/SimplifyContainCheck

Simplify the `isContainedNode` check in LSRA.

7 years agoMark a `GT_FIELD_LIST` used by a `PUTARG_STK` contained.
Pat Gavlin [Thu, 13 Jul 2017 02:49:45 +0000 (19:49 -0700)]
Mark a `GT_FIELD_LIST` used by a `PUTARG_STK` contained.

Uses occur too early otherwise.

7 years agoMerge pull request #12779 from pgavlin/ByrefAsserts
Pat Gavlin [Wed, 12 Jul 2017 23:37:58 +0000 (16:37 -0700)]
Merge pull request #12779 from pgavlin/ByrefAsserts

Loosen an assertion in the emitter re: byrefs.

7 years agoMerge pull request #12783 from CarolEidt/RemovePhysRegDst
Carol Eidt [Wed, 12 Jul 2017 23:33:40 +0000 (16:33 -0700)]
Merge pull request #12783 from CarolEidt/RemovePhysRegDst

Remove unused GT_PHYSREGDST node

7 years agoImprovements in the Zapper to VM interface, no longer throw exceptions across the...
Brian Sullivan [Wed, 12 Jul 2017 22:38:15 +0000 (15:38 -0700)]
Improvements in the Zapper to VM interface, no longer throw exceptions across the interface.

Catch the exception on the VM side of the interface call and report the error to the zapper using an Error() function call rather than letting the exception go across tyhe interface call.

The interface methods LoadIBCTypeHelper and LoadIBCMethodHelper no longer need a ThrowsViolation in their contracts.

Instead oif using BAD_FORMAT exceptions for a failures to load IBC data type and methods, we now
throw TypeLoad exception.

7 years agoMerge pull request #12775 from dotnet-bot/from-tfs
Pat Gavlin [Wed, 12 Jul 2017 22:02:22 +0000 (15:02 -0700)]
Merge pull request #12775 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoRemove unused GT_PHYSREGDST node
Carol Eidt [Wed, 12 Jul 2017 21:19:44 +0000 (14:19 -0700)]
Remove unused GT_PHYSREGDST node

7 years agoUpdate optdata in master to version 20170712-0121 (#12770)
Daniel Podder [Wed, 12 Jul 2017 21:11:34 +0000 (14:11 -0700)]
Update optdata in master to version 20170712-0121 (#12770)

7 years agoAdd VC Runtime binaries to Core_Root for ARM tests
wtgodbe [Wed, 12 Jul 2017 21:04:19 +0000 (14:04 -0700)]
Add VC Runtime binaries to Core_Root for ARM tests

7 years agoLoosen an assertion in the emitter re: byrefs.
Pat Gavlin [Wed, 12 Jul 2017 20:42:57 +0000 (13:42 -0700)]
Loosen an assertion in the emitter re: byrefs.

This assertion was attempting to ensure that one of the sources of an
instruction with a particular format that produced a byref was itself a
gcref or a byref. Its attempt to do so was overly strong, however, as it
rejected IR of the following form (specifically, the `add r, m`
generated by `t8 = ADD byref REG rdx`).

```
Generating: N005 (  3, 10) [000005] ------------        t5 =    CNS_INT(h) long   0x1c348f05a78 static Fseq[??_7type_info@@6B@] REG rax
IN0001:        mov      rax, 0x1C348F05A78
                                                             /--*  t5     long
Generating: N007 (  5, 12) [000006] -c----------        t6 = *  IND       ref    REG NA
Generating: N009 (  1,  1) [000009] ------------        t9 =    CNS_INT   int    8 REG rdx
IN0002:        mov      edx, 8
                                                             /--*  t9     int
Generating: N011 (  2,  3) [000010] ------------       t10 = *  CAST      long <- int REG rdx
IN0003:        movsxd   rdx, edx
                                                             /--*  t6     ref
                                                             +--*  t10    long
Generating: N013 (  8, 16) [000008] ------------        t8 = *  ADD       byref  REG rdx
IN0004:        add      rdx, bword ptr [rax]
Byref regs: 00000000 {} => 00000004 {rdx}
```

This changes loosens the assertion s.t. it merely ensures that the
instrution is either an add or a sub that produces a byref.

7 years agoMerge pull request #12768 from pgavlin/RemoveFixedCandidateMask
Pat Gavlin [Wed, 12 Jul 2017 19:59:14 +0000 (12:59 -0700)]
Merge pull request #12768 from pgavlin/RemoveFixedCandidateMask

Remove `fixedCandidateMask` and its uses.

7 years agoFix a build break.
Pat Gavlin [Wed, 12 Jul 2017 19:52:20 +0000 (12:52 -0700)]
Fix a build break.

[tfs-changeset: 1665563]

7 years agoFormat code.
Pat Gavlin [Wed, 12 Jul 2017 19:36:12 +0000 (12:36 -0700)]
Format code.

7 years agoRemove dead LazyInitializer file from #12697 (#12767)
James Ko [Wed, 12 Jul 2017 17:19:27 +0000 (13:19 -0400)]
Remove dead LazyInitializer file from #12697 (#12767)

* Delete LazyInitializer.cs

* Update LazyInitializer.cs

7 years agoSimplify the `isContainedNode` check in LSRA.
Pat Gavlin [Wed, 12 Jul 2017 17:15:27 +0000 (10:15 -0700)]
Simplify the `isContainedNode` check in LSRA.

Now that containedness is explicit this can simply check `isContained`.

7 years agoRemove `fixedCandidateMask` and its uses.
Pat Gavlin [Wed, 12 Jul 2017 16:46:40 +0000 (09:46 -0700)]
Remove `fixedCandidateMask` and its uses.

This function dosen't really serve any purpose: all of its uses boiled
down to no-ops.

7 years agoImplement a new approach for SIMD8/LONG interactions. (#12590)
Pat Gavlin [Wed, 12 Jul 2017 16:34:56 +0000 (09:34 -0700)]
Implement a new approach for SIMD8/LONG interactions. (#12590)

SIMD8 values need to be converted to longs under a small number of
situations on x64/Windows:
- SIMD8 values are passed and returned as LONGs
- SIMD8 values may be stored to a LONG lclVar

Currently, LSRA performs some gymnastics when building use positions in
order to ensure that registers are properly allocated. This change is a
stab at a different approach: rather than pushing this work onto the RA,
lowering inserts `GT_BITCAST` nodes where necessary to indicate
that the source long- or SIMD8-typed value should be retinterpreted as
a SIMD8- or long-typed value as necessary. The RA performs one specific
optimization wherein it retypes stores of `GT_BITCAST` nodes to
non-register-candidate local vars with the type of the cast's operand
and preferences the cast to its source interval.

This approach trades slightly larger IR for some functions that
manipulate SIMD8 values for tighter code in buildRefPositions.

7 years agoMerge pull request #12654 from wateret/armel/gtcopy_putargreg
Bruce Forstall [Wed, 12 Jul 2017 15:35:18 +0000 (08:35 -0700)]
Merge pull request #12654 from wateret/armel/gtcopy_putargreg

[RyuJIT/armel] Do not update reg for PutArgReg copy

7 years agoMerge pull request #12762 from wateret/fix-legacy-12686
Bruce Forstall [Wed, 12 Jul 2017 15:33:50 +0000 (08:33 -0700)]
Merge pull request #12762 from wateret/fix-legacy-12686

[LegacyJIT/ARM] Fix RegSet assert failure

7 years agoMerge pull request #12708 from YongseopKim/ryujit/arm32/add_nyi_promoted_struct_in_ge...
Bruce Forstall [Wed, 12 Jul 2017 15:28:15 +0000 (08:28 -0700)]
Merge pull request #12708 from YongseopKim/ryujit/arm32/add_nyi_promoted_struct_in_genPutArgStk

[RyuJIT/ARM32] Add NYI_ARM for promoted struct to genPutArgStk

7 years agoMerge pull request #12741 from pgavlin/IRDocs
Pat Gavlin [Wed, 12 Jul 2017 15:14:05 +0000 (08:14 -0700)]
Merge pull request #12741 from pgavlin/IRDocs

Update the RyuJIT IR documentation.

7 years agoAddress PR feedback.
Pat Gavlin [Wed, 12 Jul 2017 14:28:04 +0000 (07:28 -0700)]
Address PR feedback.

7 years ago[LegacyJIT/ARM] Fix RegSet assert failure
Hanjoung Lee [Wed, 12 Jul 2017 08:49:46 +0000 (17:49 +0900)]
[LegacyJIT/ARM] Fix RegSet assert failure

Fix RegSet assert failure while codegen for CpBlk and InitBlk

Fix #12686

7 years ago[RyuJIT/ARM32] Add NYI_ARM for promoted struct to genPutArgStk
Yongseop Kim [Mon, 10 Jul 2017 07:24:45 +0000 (16:24 +0900)]
[RyuJIT/ARM32] Add NYI_ARM for promoted struct to genPutArgStk

- Before solving the issue(#12657), add NYI_ARM to genPutArgStk().
- This commit's code's objective is same to the PR(#12655).
- This is from the issue(#12622).

7 years agoMerge pull request #12749 from stephentoub/remove_cts_throw_switch
Stephen Toub [Wed, 12 Jul 2017 03:58:59 +0000 (23:58 -0400)]
Merge pull request #12749 from stephentoub/remove_cts_throw_switch

Remove ThrowExceptionIfDisposedCancellationTokenSource switch

7 years agoMerge pull request #12752 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Wed, 12 Jul 2017 03:58:45 +0000 (23:58 -0400)]
Merge pull request #12752 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25511-05, preview2-25512-01, respectively (master)

7 years agoUpdate CoreClr, CoreFx to preview2-25511-05, preview2-25512-01, respectively
dotnet-maestro-bot [Wed, 12 Jul 2017 01:36:06 +0000 (01:36 +0000)]
Update CoreClr, CoreFx to preview2-25511-05, preview2-25512-01, respectively

7 years agoMerge pull request #12680 from CarolEidt/RefactorContain
Carol Eidt [Tue, 11 Jul 2017 23:58:07 +0000 (16:58 -0700)]
Merge pull request #12680 from CarolEidt/RefactorContain

Extract containment analysis

7 years agoMerge pull request #12735 from erozenfeld/RecursiveTailCallBug
Eugene Rozenfeld [Tue, 11 Jul 2017 23:10:55 +0000 (16:10 -0700)]
Merge pull request #12735 from erozenfeld/RecursiveTailCallBug

Fix for a bug in tail recursion elimination.

7 years agoPR feedback
Carol Eidt [Tue, 11 Jul 2017 22:15:23 +0000 (15:15 -0700)]
PR feedback

7 years agoMerge pull request #12730 from briansull/remove-ibc-error-string
Brian Sullivan [Tue, 11 Jul 2017 21:35:36 +0000 (14:35 -0700)]
Merge pull request #12730 from briansull/remove-ibc-error-string

Remove m_pIBCErrorNameString and IBCErrorNameString()

7 years agoMerge pull request #12746 from crummel/updateBuildToolsForSymbolFix
Chris Rummel [Tue, 11 Jul 2017 19:35:36 +0000 (14:35 -0500)]
Merge pull request #12746 from crummel/updateBuildToolsForSymbolFix

Update BuildTools to fix output path for signing.

7 years agoRemove ThrowExceptionIfDisposedCancellationTokenSource switch
Stephen Toub [Tue, 11 Jul 2017 18:36:27 +0000 (14:36 -0400)]
Remove ThrowExceptionIfDisposedCancellationTokenSource switch

This is a legacy switch from desktop; we used to throw exceptions in certain cases, now we don't, and for whatever reason it was deemed an app compat issue on desktop, so a switch was added to continue throwing that exception if the switch was set.  This was all then inherited into coreclr. But there's no reason anyone would want to opt-in to the behavior on core, and the checks for it are actually measurable in scenarios that stress registering/unregistering cancellation tokens.

I'm simply deleting the switch.

7 years agoMerge pull request #12732 from wateret/fix-runtestdesc
Bruce Forstall [Tue, 11 Jul 2017 17:52:48 +0000 (10:52 -0700)]
Merge pull request #12732 from wateret/fix-runtestdesc

Remove duplicated description in runtest.sh

7 years agoUpdate BuildTools to fix output path for signing.
Chris Rummel [Tue, 11 Jul 2017 17:42:53 +0000 (12:42 -0500)]
Update BuildTools to fix output path for signing.
This takes dotnet/buildtools#1603 which fixes the IntermediateOutputPath -
this is required by MicroBuild for signing.

7 years agoDelete bitset iterators defines (#12642)
Sergey Andreenko [Tue, 11 Jul 2017 17:36:37 +0000 (10:36 -0700)]
Delete bitset iterators defines (#12642)

Delete BLOCKSET_ITER_INIT

Rename blkNum to bbNum.
We usually use bbNum (basic block number), rather than blkNum(block
number).
This change allows to grep for iterator and etc easier.

Delete BITVEC_ITER_INIT and BITVEC_INIT_NOCOPY.

Delete VARSET_ITER_INIT.

Rename some variables around varSet iterators.

7 years agoMerge pull request #12729 from CarolEidt/Fix12724
Carol Eidt [Tue, 11 Jul 2017 17:26:16 +0000 (10:26 -0700)]
Merge pull request #12729 from CarolEidt/Fix12724

Extract Lowering of SIMD12 locals

7 years agoFix typo in method-descriptor.md (#12742)
Bertrand Mermet [Tue, 11 Jul 2017 17:24:17 +0000 (10:24 -0700)]
Fix typo in method-descriptor.md (#12742)

7 years agoMerge pull request #12743 from pgavlin/RemoveUseDef
Pat Gavlin [Tue, 11 Jul 2017 17:01:25 +0000 (12:01 -0500)]
Merge pull request #12743 from pgavlin/RemoveUseDef

Remove `GTF_VAR_USEDEF`.

7 years agoFix crossgen debug directory generation problems. (#12715)
Mike McLaughlin [Tue, 11 Jul 2017 16:58:49 +0000 (09:58 -0700)]
Fix crossgen debug directory generation problems. (#12715)

* Fix crossgen debug directory generation problems.

The first problem was that when the existing/incoming PDB debug
directory entry was a portable PDB (MinorVersion == 0x504d), the
ngen/native PDB added had the same MinorVersion indicating that
it was a portable PDB (but it never can be).

This was fixed by setting MinorVersion to 0 when creating the
ngen PDB debug directory entry.

The second problem was that the ngen PDB entry was being created
even when crossgen was run on linux/mac, etc.

The fix was to ifdef NO_NGENPDB the save ngen PDB entry code.

7 years agoMerge pull request #12695 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Tue, 11 Jul 2017 16:25:42 +0000 (09:25 -0700)]
Merge pull request #12695 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively (master)

7 years agoRemove `GTF_VAR_USEDEF`.
Pat Gavlin [Tue, 11 Jul 2017 15:06:49 +0000 (08:06 -0700)]
Remove `GTF_VAR_USEDEF`.

Nothing sets this flag.

7 years agoFix build.sh break by poorly timed dotnet first time experience (#12727)
Daniel Podder [Tue, 11 Jul 2017 14:59:42 +0000 (07:59 -0700)]
Fix build.sh break by poorly timed dotnet first time experience (#12727)

Depending on machine state, calling `dotnet` to dump the PGO and IBC
package version might trigger the first time experience message. This
breaks build.sh where it tries to parse the package version from `dotnet
msbuild`'s output. The fix is to disable the first time experience path
in these two invocations of `dotnet`.

7 years agoExtract Lowering of SIMD12 locals
Carol Eidt [Tue, 11 Jul 2017 01:04:58 +0000 (18:04 -0700)]
Extract Lowering of SIMD12 locals

Fix #12724

7 years agoUpdate the RyuJIT IR documentation.
Pat Gavlin [Tue, 11 Jul 2017 02:28:33 +0000 (21:28 -0500)]
Update the RyuJIT IR documentation.

The most important parts of these changes update the description of the
IR to cover HIR, LIR, and the differences between the two. Other updates
include some minor restructuring, typo fixes, rephrasings, and JIT dump
refreshes.

7 years agoUpdate CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively
dotnet-maestro-bot [Tue, 11 Jul 2017 13:45:29 +0000 (13:45 +0000)]
Update CoreClr, CoreFx to preview2-25510-01, preview2-25511-02, respectively

7 years agoFix for a bug in tail recursion elimination.
Eugene Rozenfeld [Tue, 11 Jul 2017 08:03:26 +0000 (01:03 -0700)]
Fix for a bug in tail recursion elimination.

Tail recursion elimination transforms a tail call into a loop.
If compInitMem is set, we may need to zero-initialize some locals. Normally it's done in the prolog
but the loop we are creating can't include the prolog. The fix is to insert zero-initialization
for all non-parameter non-temp locals in the loop. Liveness phase will remove unnecessary initializations.

We never hit this case with normal C# code since C# definite assignment rules ensure that there are
no uninitialized locals in the generated msil. In the repro the method with tail recursion is a dynamic method
and it has an uninitialized local.

7 years agoRemove duplicated description in runtest.sh
Hanjoung Lee [Tue, 11 Jul 2017 06:19:58 +0000 (15:19 +0900)]
Remove duplicated description in runtest.sh

7 years agoRemove m_pIBCErrorNameString and IBCErrorNameString()
Brian Sullivan [Tue, 11 Jul 2017 01:11:46 +0000 (18:11 -0700)]
Remove m_pIBCErrorNameString and IBCErrorNameString()

7 years agoMerge pull request #12670 from parjong/fix/SOS_StackWalk
Bruce Forstall [Tue, 11 Jul 2017 01:10:21 +0000 (18:10 -0700)]
Merge pull request #12670 from parjong/fix/SOS_StackWalk

[ARM/Linux] Fix DacStackWalk

7 years agoExtract containment analysis
Carol Eidt [Fri, 7 Jul 2017 17:48:23 +0000 (10:48 -0700)]
Extract containment analysis

In preparation for moving containment analysis to the 1st phase of Lowering, refactor most of it into separate methods. For some cases, e.g. block stores, it is more efficient to keep the logic integrated, as it will move to a similarly integrated place in Lowering.

Also, remove some dead/unused code for ARM.

7 years agoMerge pull request #12722 from CarolEidt/DumpFixes
Carol Eidt [Tue, 11 Jul 2017 00:04:31 +0000 (17:04 -0700)]
Merge pull request #12722 from CarolEidt/DumpFixes

A couple more fixes to JitDump

7 years agoMerge pull request #12674 from CarolEidt/LowerStoreLoc
Carol Eidt [Mon, 10 Jul 2017 23:44:38 +0000 (16:44 -0700)]
Merge pull request #12674 from CarolEidt/LowerStoreLoc

Move StoreLoc type widening to Lowering

7 years agoChange heading size
Vance Morrison [Mon, 10 Jul 2017 23:25:05 +0000 (16:25 -0700)]
Change heading size

7 years agoMerge pull request #12628 from hseok-oh/ryujit/fix_12602
Bruce Forstall [Mon, 10 Jul 2017 23:24:59 +0000 (16:24 -0700)]
Merge pull request #12628 from hseok-oh/ryujit/fix_12602

[RyuJIT/ARM32] Clear assertion for refany struct and struct type temp

7 years agoPut in a warning that the instructions no longer work properly
Vance Morrison [Mon, 10 Jul 2017 23:23:49 +0000 (16:23 -0700)]
Put in a warning that the instructions no longer work properly

7 years agoRemove another reference to System.Private.Corelib.ni.dll
Vance Morrison [Mon, 10 Jul 2017 23:02:44 +0000 (16:02 -0700)]
Remove  another reference to System.Private.Corelib.ni.dll

7 years agoRemove reference to System.Private.Corelib.ni.dll
Vance Morrison [Mon, 10 Jul 2017 23:00:46 +0000 (16:00 -0700)]
Remove reference to System.Private.Corelib.ni.dll

The build now only has the NGENed image (called but called System.Private.Corelib.dll.   Remove references to the *.ni.dll version

7 years agoMerge pull request #12580 from wtgodbe/disableSync
William Godbe [Mon, 10 Jul 2017 22:25:14 +0000 (15:25 -0700)]
Merge pull request #12580 from wtgodbe/disableSync

Disable sync.cmd -n for Windows binaries

7 years agoA couple more fixes to JitDump
Carol Eidt [Mon, 10 Jul 2017 21:31:34 +0000 (14:31 -0700)]
A couple more fixes to JitDump

7 years agoMerge pull request #12716 from dotnet-bot/from-tfs
Brian Sullivan [Mon, 10 Jul 2017 20:52:31 +0000 (13:52 -0700)]
Merge pull request #12716 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoSpeed up fgLocalVarLiveness in minopts. (#12665)
Pat Gavlin [Mon, 10 Jul 2017 20:43:13 +0000 (15:43 -0500)]
Speed up fgLocalVarLiveness in minopts. (#12665)

In particular:
- Do not re-sort lclVars
- Do not run LVA
- Do not set `mustInit`
- Do not set last uses
- Do not perform DSE

7 years agoMerge pull request #12717 from wtgodbe/disableJITTestArm
William Godbe [Mon, 10 Jul 2017 20:10:25 +0000 (13:10 -0700)]
Merge pull request #12717 from wtgodbe/disableJITTestArm

disable hijacking test for Arm32

7 years agoMerge pull request #12712 from helloguo/errorHandle
Aditya Mandaleeka [Mon, 10 Jul 2017 19:58:27 +0000 (12:58 -0700)]
Merge pull request #12712 from helloguo/errorHandle

Fix error handle of PAL API SetThreadGroupAffinity

7 years agodisable hijacking test for Arm32
wtgodbe [Mon, 10 Jul 2017 18:43:39 +0000 (11:43 -0700)]
disable hijacking test for Arm32

7 years agoAdd symbol signing to published packages. (#12291)
Chris Rummel [Mon, 10 Jul 2017 18:42:57 +0000 (13:42 -0500)]
Add symbol signing to published packages. (#12291)

* Add symbol signing to published packages.
- Enable MicroBuild signing steps.
- Update build to call new BuildTools symbol signing targets.

7 years agoDisable sync.cmd -n for Windows binaries
wtgodbe [Fri, 30 Jun 2017 19:29:12 +0000 (12:29 -0700)]
Disable sync.cmd -n for Windows binaries

7 years agoFix optdata bootstrap test script & Linux skiprestoreoptdata behavior (#12541)
Daniel Podder [Mon, 10 Jul 2017 18:37:25 +0000 (11:37 -0700)]
Fix optdata bootstrap test script & Linux skiprestoreoptdata behavior (#12541)

Fixes #12171.

* bootstrap.py was printing an improperly-cased path to put PGO/IBC
  training data, which breaks on case-sensitive file systems, i.e., on
  Linux.

* On Linux, `skiprestoreoptdata` was improperly skipping PGO even if
  optdata was already present due to some of the conditional checks in
  build.sh. This cleans that up to better match the intent of the
  switch, and to fix Linux behavior to better match Windows.

7 years agoMerge pull request #12710 from hseok-oh/ryujit/fix_12703
Bruce Forstall [Mon, 10 Jul 2017 18:22:08 +0000 (11:22 -0700)]
Merge pull request #12710 from hseok-oh/ryujit/fix_12703

[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct

7 years agoUpdate the telemetry logging to use MEASURES instead of TELEMENTRY
Brian Sullivan [Mon, 10 Jul 2017 18:20:55 +0000 (11:20 -0700)]
Update the telemetry logging to use MEASURES instead of TELEMENTRY

[tfs-changeset: 1665164]

7 years ago[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct
Hyeongseok Oh [Mon, 10 Jul 2017 10:29:16 +0000 (19:29 +0900)]
[RyuJIT/ARM32] Fix register allocation for split GT_FIELD_LIST struct

To fix register allocation for split GT_FIELD_LIST struct,
set source register for each node of GT_FIELD_LIST

7 years agofix error handle
helloguo [Mon, 10 Jul 2017 09:50:28 +0000 (02:50 -0700)]
fix error handle

7 years agoMerge pull request #12572 from wateret/armel/dblarg_stack
Carol Eidt [Mon, 10 Jul 2017 05:55:28 +0000 (22:55 -0700)]
Merge pull request #12572 from wateret/armel/dblarg_stack

[RyuJIT/armel] Passing stack double arguments

7 years ago[RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA (#12604)
Hyung-Kyu Choi [Mon, 10 Jul 2017 05:08:44 +0000 (14:08 +0900)]
[RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA (#12604)

* [RyuJIT/ARM32] Avoid promoting structures which can be handled by HFA

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [RyuJIT/ARM32] Add comments for ARM32

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoNote that tests don't have to be built to view JIT dumps (#12699)
Petr Onderka [Sun, 9 Jul 2017 18:22:58 +0000 (20:22 +0200)]
Note that tests don't have to be built to view JIT dumps (#12699)