Skip to content

Make more extensive use of lvaGetDesc() - #61494

Merged
BruceForstall merged 1 commit into
dotnet:mainfrom
BruceForstall:UseLvaGetDesc
Nov 24, 2021
Merged

Make more extensive use of lvaGetDesc()#61494
BruceForstall merged 1 commit into
dotnet:mainfrom
BruceForstall:UseLvaGetDesc

Conversation

@BruceForstall

@BruceForstallBruceForstall commented Nov 12, 2021

Copy link
Copy Markdown
Contributor

Including the version with a GenTreeLclVarCommon* overload.

I mostly replaced &lvaTable[varNum] and lvaTable + varNum
expressions, leaving lvaTable[varNum].xxx.

Made many resulting varDsc* const.

Removed unused lvaRefCount.

Simplifies code, and centralizes assert checking.

Added new lvaGetLclNum(LclVarDsc*) function to map back to a varNum.

This deletes many noway_assert in favor of the lvaGetDesc assert;
I'm not worried about removing asserts from the Release build.

No asm diffs

@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 12, 2021
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @JulieLeeMSFT
See info in area-owners.md if you want to be subscribed.

Issue Details

Including the version with a GenTreeLclVarCommon* overload.

I mostly replaced &lvaTable[varNum] and lvaTable + varNum
expressions, leaving lvaTable[varNum].xxx.

Made many resulting varDsc* const.

Removed unused lvaRefCount.

Simplifies code, and centralizes assert checking.

Added new lvaGetLclNum(LclVarDsc*) function to map back to a varNum.

This deletes many noway_assert in favor of the lvaGetDesc assert;
I'm not worried about removing asserts from the Release build.

Author:BruceForstall
Assignees:-
Labels:

area-CodeGen-coreclr

Milestone:-

@BruceForstall

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

Including the version with a `GenTreeLclVarCommon*` overload.
I mostly replaced `&lvaTable[varNum]` and `lvaTable + varNum`
expressions, leaving `lvaTable[varNum].xxx`.
Made many resulting `varDsc*` const.
Removed unused `lvaRefCount`.
Simplifies code, and centralizes assert checking.
Added new `lvaGetLclNum(LclVarDsc*)` function to map back to a varNum.
This deletes many `noway_assert` in favor of the lvaGetDesc `assert`;
I'm not worried about removing asserts from the Release build.
@BruceForstall

Copy link
Copy Markdown
ContributorAuthor

Rebased/re-pushed to see if the CI will be more compliant

@BruceForstall

Copy link
Copy Markdown
ContributorAuthor

/azp run runtime-coreclr jitstress

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@BruceForstall

Copy link
Copy Markdown
ContributorAuthor

@dotnet/jit-contrib PTAL

@AndyAyersMSAndyAyersMS 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.

LGTM.

I only skimmed the first few hundred diffs.

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BruceForstall@AndyAyersMS