-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Make sure that GenTree pointer is stored only in its parent. #13293
Comments
@mikedn I think you have mentioned that you have a PR for it, have not you? I thought it would be useful to create an issue for it, so other issues around |
Well, yes, I have an experimental change on top of Tests are passing so it looks encouraging but I found there's a piece of code in lowering (profiler hook insertion) that was broken by the change and presumably we don't have test coverage for. I'll have to fix that before definitely saying that yes, we can get rid of this mess. Besides, the change is large, I'll probably need to split it up in multiple PRs and/or scale it down a bit. But before all that we need to finish with the loop hoisting PR so I can get to |
I've updated dotnet/coreclr#24294 to include only the removal of IMO we should also get rid of But luckily that can be done separately to keep the PRs manageable. |
I think it may be useful to briefly explain how I see the future of
So in summary - how would a We'll see. I have the GTF_LATE_ARG removal mostly done but the rest is only in my imagination 😁 |
@mikedn there are 2 |
@sandreenko Eventually yes. And the one from field list should inherit from a common one. Need to finish the removal of |
This was fixed as a side effect of #67238. |
Right now we can have
fgArgInfo
that hasfgArgTabEntry
that points to aGenTree
, so every time when we replace one tree with another we have to check for this case and do an expensive linear search in the arg info array. SeeReplaceOperand
for example.We should get rid of any second edges to
GenTree
, so every time when we replace/remove a tree we need to update only one edge.category:implementation
theme:ir
skill-level:expert
cost:large
The text was updated successfully, but these errors were encountered: