Skip to content

Commit

Permalink
Merge branch 'main' into math-helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
MichalPetryka authored Feb 29, 2024
2 parents c665079 + b72ec6c commit d150f78
Show file tree
Hide file tree
Showing 381 changed files with 11,385 additions and 10,353 deletions.
3 changes: 2 additions & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,5 @@ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
libssl-dev \
libkrb5-dev \
zlib1g-dev \
ninja-build
ninja-build \
tzdata
6 changes: 3 additions & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

/src/mono @marek-safar

/src/mono/llvm @vargaz @SamMonoRT
/src/mono/llvm @vargaz @steveisok

/src/mono/mono/arch @vargaz
/src/mono/mono/eglib @vargaz @lambdageek
Expand All @@ -36,7 +36,7 @@

/src/mono/mono/eventpipe @lateralusX @lambdageek

/src/mono/mono/mini @vargaz @lambdageek @SamMonoRT
/src/mono/mono/mini @vargaz @lambdageek @steveisok
/src/mono/mono/mini/*cfgdump* @vargaz
/src/mono/mono/mini/*exceptions* @vargaz @BrzVlad
/src/mono/mono/mini/*llvm* @vargaz @fanyang-mono
Expand All @@ -50,7 +50,7 @@
/src/mono/mono/mini/*simd* @fanyang-mono

/src/mono/mono/profiler @BrzVlad @lambdageek
/src/mono/mono/sgen @BrzVlad @lambdageek @SamMonoRT
/src/mono/mono/sgen @BrzVlad @lambdageek

/src/mono/mono/utils @vargaz @lambdageek
/src/mono/mono/utils/*-win* @lateralusX @lambdageek
Expand Down
File renamed without changes.
32 changes: 0 additions & 32 deletions .github/ISSUE_TEMPLATE/04_ci_known_issue.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ contact_links:
- name: Issue with WPF
url: https://github.com/dotnet/wpf/issues/new/choose
about: Please open issues relating to WPF in dotnet/wpf.
- name: CI Known Issue Report
url: https://helix.dot.net/BuildAnalysis/CreateKnownIssues
about: Use the helper to create a Known Issue in CI if failures in your runs are unrelated to your change. See [Failure Analysis](https://github.com/dotnet/runtime/blob/main/docs/workflow/ci/failure-analysis.md#what-to-do-if-you-determine-the-failure-is-unrelated) for triage instructions.
2 changes: 2 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,8 @@
'$(OfficialBuildId)' == ''">true</DisableSourceLink>
<!-- Runtime doesn't support Arcade-driven target framework filtering. -->
<NoTargetFrameworkFiltering>true</NoTargetFrameworkFiltering>

<NativeBuildPartitionPropertiesToRemove>ClrFullNativeBuild;ClrRuntimeSubset;ClrJitSubset;ClrPalTestsSubset;ClrAllJitsSubset;ClrILToolsSubset;ClrNativeAotSubset;ClrSpmiSubset;ClrCrossComponentsSubset;ClrDebugSubset;HostArchitecture;PgoInstrument;NativeOptimizationDataSupported;CMakeArgs</NativeBuildPartitionPropertiesToRemove>
</PropertyGroup>

<!-- RepositoryEngineeringDir isn't set when Installer tests import this file. -->
Expand Down
8 changes: 4 additions & 4 deletions docs/area-owners.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ Note: Editing this file doesn't update the mapping used by `@msftbot` for area-s
| area-System.Composition | @ericstj | @dotnet/area-system-composition | |
| area-System.Configuration | @ericstj | @dotnet/area-system-configuration | |
| area-System.Console | @jeffhandley | @dotnet/area-system-console | |
| area-System.Data | @ajcvickers | @ajcvickers @davoudeshtehari @david-engel @roji | <ul><li>Odbc, OleDb - @saurabh500</li></ul> |
| area-System.Data.Odbc | @ajcvickers | @ajcvickers @roji | |
| area-System.Data.OleDB | @ajcvickers | @ajcvickers @roji | |
| area-System.Data | @sammonort | @ajcvickers @davoudeshtehari @david-engel @roji | <ul><li>Odbc, OleDb - @saurabh500</li></ul> |
| area-System.Data.Odbc | @sammonort | @ajcvickers @roji | |
| area-System.Data.OleDB | @sammonort | @ajcvickers @roji | |
| area-System.Data.SqlClient | @David-Engel | @davoudeshtehari @david-engel @jrahnama | Archived component - limited churn/contributions (see https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasqlclient/) |
| area-System.DateTime | @ericstj | @dotnet/area-system-datetime | System namespace APIs related to dates and times, including DateOnly, DateTime, DateTimeKind, DateTimeOffset, DayOfWeek, TimeOnly, TimeSpan, TimeZone, and TimeZoneInfo |
| area-System.Diagnostics | @tommcdon | @dotnet/area-system-diagnostics | |
Expand Down Expand Up @@ -135,7 +135,7 @@ Note: Editing this file doesn't update the mapping used by `@msftbot` for area-s
| area-System.Threading.Channels | @ericstj | @dotnet/area-system-threading-channels | Consultants: @stephentoub |
| area-System.Threading.RateLimiting | @rafikiassumani-msft | @BrennanConroy @halter73 | |
| area-System.Threading.Tasks | @ericstj | @dotnet/area-system-threading-tasks | Consultants: @stephentoub |
| area-System.Transactions | @ajcvickers | @roji | |
| area-System.Transactions | @sammonort | @roji | |
| area-System.Xml | @jeffhandley | @dotnet/area-system-xml | |
| area-TieredCompilation-coreclr | @mangod9 | @kouvel | |
| area-Tools-ILLink | @agocke | @dotnet/illink | |
Expand Down
4 changes: 0 additions & 4 deletions docs/design/coreclr/jit/first-class-structs.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,6 @@ encountered by most phases of the JIT:
[#21705](https://github.com/dotnet/coreclr/pull/21705) they are no longer large nodes.
* `GT_STORE_OBJ` and `GT_STORE_BLK` have the same structure as `GT_OBJ` and `GT_BLK`, respectively
* `Data()` is op2
* `GT_STORE_DYN_BLK` (GenTreeStoreDynBlk extends GenTreeBlk)
* Additional child `gtDynamicSize`
* Note that these aren't really struct stores; they represent dynamically sized blocks
of arbitrary data.
* For `GT_LCL_FLD` nodes, we store a pointer to `ClassLayout` in the node.
* For `GT_LCL_VAR` nodes, the `ClassLayout` is obtained from the `LclVarDsc`.

Expand Down
6 changes: 6 additions & 0 deletions docs/design/coreclr/jit/ryujit-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ The top-level function of interest is `Compiler::compCompile`. It invokes the fo
| [Common Subexpression Elimination (CSE)](#cse) | Elimination of redundant subexressions based on value numbers. |
| [Assertion Propagation](#assertion-propagation) | Utilizes value numbers to propagate and transform based on properties such as non-nullness. |
| [Range analysis](#range-analysis) | Eliminate array index range checks based on value numbers and assertions |
| [Induction variable optimization](#iv-opts) | Optimize induction variables used inside natural loops based on scalar evolution analysis |
| [VN-based dead store elimination](#vn-based-dead-store-elimination) | Eliminate stores that do not change the value of a local. |
| [If conversion](#if-conversion) | Transform conditional definitions into `GT_SELECT` operators. |
| [Rationalization](#rationalization) | Flowgraph order changes from `FGOrderTree` to `FGOrderLinear`. All `GT_COMMA` nodes are transformed. |
Expand Down Expand Up @@ -347,6 +348,11 @@ reused.

Utilizes value numbers to propagate and transform based on properties such as non-nullness.

### <a name="iv-opts"></a>Induction variable optimization

Performs scalar evolution analysis and utilized it to optimize induction variables inside loops.
Currently this entails IV widening which is done on x64 only.

### <a name="range-analysis"></a>Range analysis

Optimize array index range checks based on value numbers and assertions.
Expand Down
4 changes: 4 additions & 0 deletions docs/design/coreclr/jit/ryujit-tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,10 @@ This is the same diagram as before, but with additional links to indicate execut
- Determine initial value for dependent phis
- Eliminate checks where the range of the index is within the check range

### Induction Variable Optimization
- Perform scalar evolution analysis to describe values of IR nodes inside loops
- Perform IV widening on x64 to avoid unnecessary zero extensions for array/span indexing

## RyuJIT Back-End

### Rationalization
Expand Down
24 changes: 24 additions & 0 deletions docs/workflow/ci/failure-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@

## Triaging errors seen in CI

## Summary

**Passing Build Analysis is required to merge into the runtime repo**.

To resolve failures, do the following, in order:

1. Fix the problem if your PR is the cause.
2. For all failures not in the "Known test errors" section, [try to file a Known Build Error issue](#what-to-do-if-you-determine-the-failure-is-unrelated).
3. If all else fails, perform a [manual bypass](#bypassing-build-analysis).


## Details

In case of failure, any PR on the runtime will have a failed GitHub check - PR Build Analysis - which has a summary of all failures, including a list of matching known issues as well as any regressions introduced to the build or the tests. This tab should be your first stop for analyzing the PR failures.

![Build analysis check](analysis-check.png)
Expand Down Expand Up @@ -78,6 +91,7 @@ If you have considered all the diagnostic artifacts and determined the failure i
````
It already contains most of the essential information, but *it is very important that you fill out the json blob*.
- You can now use the [Build Analysis Known Issue Helper](https://helix.dot.net/BuildAnalysis/CreateKnownIssues) to create an issue. It assists in adding the right set of labels, fill the necessary paths in the json blob, and it will validate that it matches the text presented for the issue found in the logs.
- You can add into the `ErrorMessage` field the string that you found uniquely identifies the issue. In case you need to use a regex, use the `ErrorPattern` field instead. This is a limited to a single-line, non-backtracking regex as described [here](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#regex-matching). This regex also needs to be appropriately escaped. Check the [arcade known issues](https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/KnownIssues.md#filling-out-known-issues-json-blob) documentation for a good guide on proper regex and JSON escaping.
- The field `ExcludeConsoleLog` describes if the execution logs should be considered on top of the individual test results. **For most cases, this should be set to `true` as the failure will happen within a single test**. Setting it to `false` will mean all failures within an xUnit set of tests will also get attributed to this particular error, since there's one log describing all the problems. Due to limitations in Known Issues around rate limiting and xUnit resiliency, setting `ExcludeConsoleLog=false` is necessary in two scenarios:
+ Nested tests as reported to Azure DevOps. Essentially this means theory failures, which look like this when reported in Azure DevOps: ![xUnit theory seen in azure devops](theory-azdo.png).
Expand All @@ -95,6 +109,16 @@ After you do this, if the failure is occurring frequently as per the data captur
There are plenty of intermittent failures that won't manifest again on a retry. Therefore these steps should be followed for every iteration of the PR build, e.g. before retrying/rebuilding.
### Bypassing build analysis
To unconditionally bypass the build analysis check (turn it green), you can add a comment to your PR with the following text:
```
/ba-g <reason>
```
For more information, see https://github.com/dotnet/arcade/blob/main/Documentation/Projects/Build%20Analysis/EscapeMechanismforBuildAnalysis.md
### Examples of Build Analysis
#### Good usage examples
Expand Down
4 changes: 4 additions & 0 deletions eng/DotNetBuild.props
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
<_hostArch>$(_hostRid.Substring($(_hostRidPlatformIndex)).TrimStart('-'))</_hostArch>

<LogVerbosity Condition="'$(LogVerbosity)' == ''">minimal</LogVerbosity>

<!-- When using the inner clone functionality in the repo build, copy the sources
directly as source-link doesn't support local path clones anymore. -->
<CopySrcInsteadOfClone>true</CopySrcInsteadOfClone>
</PropertyGroup>

<PropertyGroup Label="ShortStacks">
Expand Down
2 changes: 1 addition & 1 deletion eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@
</PropertyGroup>

<ItemGroup Condition="'$(ClrRuntimeBuildSubsets)' != '' or $(_subset.Contains('+clr.nativeprereqs+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)runtime-prereqs.proj" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot)runtime-prereqs.proj" Category="clr" GlobalPropertiesToRemove="$(NativeBuildPartitionPropertiesToRemove)" />
</ItemGroup>

<ItemGroup Condition="'$(ClrRuntimeBuildSubsets)' != ''">
Expand Down
Loading

0 comments on commit d150f78

Please sign in to comment.