This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Update to latest changes from master branch#13987
Merged
davidwrighton merged 869 commits intodotnet:dev/defaultintffrom Sep 14, 2017
Merged
Update to latest changes from master branch#13987davidwrighton merged 869 commits intodotnet:dev/defaultintffrom
davidwrighton merged 869 commits intodotnet:dev/defaultintffrom
Conversation
When users trigger perf runs for PRs, the alias used to submit in submission-metadata.json should be that user's email. We should only use dotnet-bot for official runs.
User the PR trigger email for benchview submit
… performing tail recursion optimization [tfs-changeset: 1672052]
(previous CS is #1672052) [tfs-changeset: 1672055]
Tag Pri1+ tests as such in the ARM32/64 LST files.
Merge changes from TFS
SuperPMI replay: fix enviroment variables initialization. If we have mch with mc files with different ENV_variables, we ran them with the set for the first mc.
Perf smoke tests have been broken since dotnet#13638. The issue appears to be that `ghprbTriggerAuthorEmail` is an empty string in most cases, so its value is not expanded. The attempted fix is to use `ghprbPullAuthorEmail` instead, which is always defined (since there's always an owner to a PR).
Remove setting gtRegNum of GT_FIELD_LIST in LowerArg() gtRegNum of GT_FIELD_LIST is reset in NewPutArg()
Fix reg count for double arg reg Fix #13622
The override needs to be before the Build.Common.props import, because BuildVersion.targets is in Build.Common.props and it's what's responsible for importing BuildVersionFile if it exists.
Loop construction has a check for the case that an in-loop block has a `bbNext` block that is a new block but not visited in the loop flow walk; make sure that check fires for `entry` as well as other loop blocks. Fixes #13507.
Fix NullCheck register modeling
…eldlist [RyuJIT/ARM32] Fix setting register of GT_FIELD_LIST for long
- CoreClr Scenario and CoreClr IlLink jobs were aliased on CI.
[RyuJIT/armel] Fix double reg arg passing
Check for new blocks after `entry`
Essentially, just do what AMD64 was doing in fgMorphTailCall() and LowerTailCallViaHelper(). All the VM support for tailcall via helper is already there (and used by legacy backend). Fixes #11844, #11836
Fix dir.props BuildVersionFile override
* Fix free_stack macro for ARM free_stack shouldn't contain unwinder annotations for stack adjustment * callsignalhandlerwrapper: improve unwinding For linux: make CallSignalHandlerWrapper's frame sigtramp frame for gdb and lldb: - Save all registers on stack - Add sigreturn syscall after call of signal_handler_worker It provides ability for gdb and lldb unwind frame with invalid pc (due to jump to invalid addresss). For non linux: - Save r11 on stack as it also can be used as frame pointer - Set instruction set flag (thumb / arm) for saved pc. It is necessary for gdb because it uses lr's lsb to determine function mode
Change dstCount, internalcount for GT_NULLCHECK on ARM32 Remove calling TreeNodeInfoInitIndir() for GT_NULLCHECK on ARM32, ARM64
Fix comment for TreeNodeInfoInitIndir
Instead of looking at the verifier type for a local (which is currently never set for ref classes in CoreCLR), use the new utilties for finding ref type class handles. Since the utility works on all tree types, also remove the restriction that the tree must be a local. Closes #13555.
Fix to be used --xunitOutputPath in runtest.sh This option was useless because xunitOutputPath was always set as default
The flag is not implemented anywhere and is completely ignored. Remove it form various help notices too. Fixes #12035
…otnet#13682) This reverts commit a7ffdec, reversing changes made to f5f622d.
Fix core dump generation on Centos. Issue #13764
[Arm64] Allow a%b to a&(b-1) transform
If the only use of a box is in a call to Type:GetType, remove the box and obtain the type directly. Get the handle needed for obtaining the type from the newobj call in the original box, via a new box removal option. Also add some logging to the type optimizations done in morph. Closes #13187.
…otnet#13868) Remove redundant zero-initialization of struct temps with GC fields. Structs with GC pointer fields are fully zero-initialized in the prolog if compInitMem is true. Therefore, we don't need to insert zero-initialization for the result of newobj or for inlinee locals when they are structs with GC pointer fields and the basic bock is not in a loop.
This change fixes a bug that causes crashes when secure delegate is invoked on ARM32 with legacy codegen. Register R4 was loaded with indirection slot address and immediatelly marked as trashed, so the JIT compiler reused it before the call that was supposed to have that value in R4. The fix was to move the reg trashing after the call. There was also an incorrect marking of that address as EA_PTRSIZE while it should be EA_BYREF, so I've fixed that too.
…dotnet#13733) * [RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via run-time helper Implement CreateDictionaryLookupHelper only via run-time helper * Add assertion for checking CORINFO_USEHELPER
* Re-implemented the ecvt function. Instead of leveraging snprintf, re-implement the ecvt function according to the paper: https://www.cs.indiana.edu/~dyb/pubs/FP-Printing-PLDI96.pdf Note: 1. This commit won't fix any existing bug. 2. This is a raw implementation of the paper. The performance on Linux only gain 10%. We could tune the performance further. Fix #10651 * Resolve a cross platform header file issue. Fix #10651 * Fixed a minor bug. Improved the performance. Fix #10651 * Modified code according to code review feedback. This commit fixed most of the issue found in code review. However, some of the feedback may not be involved due to either little performance improvement or need a POC. Fix #10651 * Try to fix constexpr compile error on Windows. Fix #10651 * Fixed a potential overflow bug in BigNum::Compare. Fix #10651 * Improved multiply 10 operation. Use shift and add operation to replace actual multiply operation. Fix #10651 * Remove old _ecvt function. Fix #10651 * Documented the reason why we do not need m+ and m-. Fix #10651 * Changed exp > 0 to exp != 0 to remove any confusion. exp should fall in 1 ~ 2046 for normalized value. Denormalized value has exp = 0. Fix #10651 * Disable the _ecvt tests. Fix #10651 * Removed _ecvt tests. Fix #10651 * Re-implemented LogBase2. Fix #10651 * Use DWORD and DWORD64 for _BitScanReverse and _BitScanReverse64 Fix #10651 * Fixed x86 compile issue for _BitScanReverse64 x86 does not support _BitScanReverse64 so we have to add additional shift operations to handle it. Fix #10651 * Implemented BitScanReverse64 and BitScanReverse in pal.h Fix #10651 * Remove the confusion comment which is unrelated to BitScanReverse. Fix #10651 * Introduced wmemset to enhance the perf for 0.0 Fix #10651 * Improved the performance of converting 0.0. Fix #10651 * Renamed ecvt to DoubleToNumberWorker. Fix #10651 * Updated code according to the code review feedback. Fix #10651
…review1-25713-01, preview1-25712-02, master-20170912-0038, respectively (dotnet#13928)
Before the decision for numProcs to run in parallel for runtests.sh was based on _NPROCESSORS_ONLN which harware which attempts to save power (eg arm(64)) this number may be < numProcs.
* Introduce FEATURE_GDBJIT_SYMTAB This commit adds new feature FEATURE_GDBJIT_SYMTAB. When it's set ELF file with symtab section will be generated for all JITed methods. It helps lldb and gdb correctly unwind frames of JITed methods as they can use assembly language inspection to determine location of saved registers on stack. * gdbjit symtab feature: use different symbols for each function in JITed code
[Arm64] Transform AND-CMP to TST
[Arm64] Add GT_MULHI
Improve const return block placement
This fix when parsing Hevrew dat e string formatted as dd/MM/yy. we didn't encounter the same on Windows before because default short date pattern on Windows is dd MMM yyyy which we can parse it successfully.
…tstress_NYI_addr [RyuJIT/ARM32] Add ADDR and fixup return type correctly
This allows inlining Span.Length accross versioning boundaries in R2R images. We are leaking the Span implementation details already because the Span indexer is treated as intrinsic. Marking a few more trivial methods as non-versionable should not do any future harm.
Before this fix, corerun would AV on certain invalid paths e.g.: corerun test.exe\
This change adds marking native executables that coreclr build produces (corerun, coreconsole, crossgen, ilasm, ildasm, crashdump) to using the paxctl tool to allow them running on systems with PAX configured so that creating executable memory mappings by applications is prohibited.
Fix potentially unused variable in lb arm
Member
Author
|
@dotnet-bot test this please |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update from latest changes to master