-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Move GenTreeVecCon and GenTreeMskCon under the respective FEATURE_* defines #104932
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
This represents just general cleanup and can be delayed until .NET 10 |
CC. @kunalspathak, this should be ready for review. Just represents the general cleanup we had talked about around the constants and ensuring they're under the right |
Don't our most important targets have these defined? Is there a tangible benefit from doing something like this? From what I see it's just introducing a lot of ifdef soup that makes the code harder to read. I would personally like if we moved toward fewer conditionally defined nodes/opers rather than more of them, except if there are some really tangible benefits. cc @dotnet/jit-contrib |
Yes, at least for
I don't disagree.
We somewhat have the split due to historical reasons and it would be nice if we merged them together into a single feature, but it won't remove most of the With this PR, we're not really introducing any new ifdef soup and it actually simplifies it in other cases. The places it remains soupy are mainly the places we have to do different things for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@jakobbotsch do you have any other input on this one? My preference would be to take this, given it makes our build given existing defines more correct. Then to separately look at (and come to a shared decision with the JIT team) as to how we want to simplify it, if at all. There's a couple of older issues that allude to such a cleanup: #9473 and #11701, but we've never actually determined what should actually be done. Such a cleanup (when/if it happens) will likely be quite a bit more involved |
If your preference is to take it I am ok with it, but at some point I might experiment with the clean up that goes in the opposite direction and makes all node types and node classes unconditionally defined everywhere (just not appearing for some targets). |
Follow up from #104875