Skip to content

Simplify mibc usage in the build - #50536

Merged
davidwrighton merged 1 commit into
dotnet:mainfrom
davidwrighton:better_structured_pgo_processing
Apr 14, 2021
Merged

Simplify mibc usage in the build#50536
davidwrighton merged 1 commit into
dotnet:mainfrom
davidwrighton:better_structured_pgo_processing

Conversation

@davidwrighton

Copy link
Copy Markdown
Member
  • Produce a merged mibc with all scenarios squished together
  • Properly attach the mibc data to the incremental build for System.Private.CoreLib
    • This can't be done for the framework here. It will require mibc integration in the SDK
  • Enable pgo optimization in checked builds
  • Enable pgo optimization in framework compile for outerloop runs

@ghost

ghost commented Apr 1, 2021

Copy link
Copy Markdown

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@davidwrighton

Copy link
Copy Markdown
MemberAuthor

@dotnet/crossgen-contrib once #50364 is merged, I'm going to run a test pass to verify everything is working with this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should EnableNgenOptimization be renamed?

@trylektrylek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thank you!

Comment threadsrc/coreclr/crossgen-corelib.proj Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to produce some warnings when no MIBC data is available? Or, alternatively, should we print the files that were found or at least the number of files found? Especially for lab runs this might simplify various investigations.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The build log will contain the list of mibc files processed as part of the standard output from the dotnet-pgo tool. Also, it will fail if there isn't any input data.

@AndyAyersMS

Copy link
Copy Markdown
Member

This is flowing the same PGO data into Checked as it does into Release, right?

@davidwrighton

Copy link
Copy Markdown
MemberAuthor

Yes. We only produce one set of data.

- Produce a merged mibc with all scenarios squished together
- Properly attach the mibc data to the incremental build for System.Private.CoreLib
- This can't be done for the framework here. It will require mibc integration in the SDK
- Enable pgo optimization in checked builds
- Enable pgo optimization in framework compile for outerloop runs
@davidwrighton
davidwrightonforce-pushed the better_structured_pgo_processing branch from 33c01b0 to 5633627CompareApril 12, 2021 20:02
@davidwrighton
davidwrighton merged commit fccdca0 into dotnet:mainApr 14, 2021
@davidwrighton
davidwrighton deleted the better_structured_pgo_processing branch April 20, 2021 17:47
@karelzkarelz added this to the 6.0.0 milestone May 20, 2021
@ghostghost locked as resolved and limited conversation to collaborators Jun 19, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@davidwrighton@AndyAyersMS@trylek@mangod9@karelz