Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up struct allocation in gsParamsToShadows #13366

Open
CarolEidt opened this issue Sep 5, 2019 · 0 comments
Open

Clean up struct allocation in gsParamsToShadows #13366

CarolEidt opened this issue Sep 5, 2019 · 0 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone

Comments

@CarolEidt
Copy link
Contributor

CarolEidt commented Sep 5, 2019

This method creates shadow copies (this is excerpted from the discussion here: dotnet/coreclr#21705 (comment)):

  • first, it creates the variables, without calling lvaSetStruct, but copies some of the struct-related info, such as lvVerTypeInfo.
  • then it changes the IR to use the new variables (ugly because the IR will now temporarily be in an invalid state - the newly created variables may have not been fully setup without lvaSetStruct)
  • then it generates copies from the old variables to the new variables and here it calls lvaSetStruct

It should presumably call lvaSetStruct when it first creates the new locals.

category:implementation
theme:ir
skill-level:beginner
cost:small
impact:small

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
@BruceForstall BruceForstall removed the JitUntriaged CLR JIT issues needing additional triage label Jan 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Projects
None yet
Development

No branches or pull requests

3 participants