-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
JIT: Generalize assignment decomposition in physical promotion #85323
JIT: Generalize assignment decomposition in physical promotion #85323
Commits on Apr 25, 2023
-
JIT: Generalize assignment decomposition in physical promotion
Generalize assignment decomposition to handle arbitrary combinations of physically promoted structs. Do this by introducing a DecompositionPlan class that keeps track of the copies to do that involve replacement fields. The first step is then to fill out this plan. In the general case where both the source and destination are physically promoted this involves iterating the replacements in lockstep. For promotions that map exactly, a direct copy between their locals is queued into the plan; in other cases (e.g. partial overlap) it may involve writing the source back to the struct local. The plan is used to generate the IR and to figure out whether the writes of all the replacement fields covers the destination such that the original struct copy can be omitted. Also unnest StatementList and rename it to DecompositionStatementList as the other name conflicted with another class.
Configuration menu - View commit details
-
Copy full SHA for 52c1022 - Browse repository at this point
Copy the full SHA 52c1022View commit details -
Configuration menu - View commit details
-
Copy full SHA for 09db21e - Browse repository at this point
Copy the full SHA 09db21eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 813fa83 - Browse repository at this point
Copy the full SHA 813fa83View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a372af - Browse repository at this point
Copy the full SHA 5a372afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e54863 - Browse repository at this point
Copy the full SHA 5e54863View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22aa3f7 - Browse repository at this point
Copy the full SHA 22aa3f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87e55d6 - Browse repository at this point
Copy the full SHA 87e55d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70defdc - Browse repository at this point
Copy the full SHA 70defdcView commit details
Commits on Apr 26, 2023
-
JIT: Change GTF_ICON_INITCLASS -> GTF_IND_INITCLASS
The JIT has a flag GTF_ICON_INITCLASS that represents that accesses off that address are cctor dependent. Hoisting uses this to avoid hoisting cctor dependent indirections unless all cctors are also hoisted. However, local constant prop/VN-based constant prop do not handle this flag, so we could run into cases where addresses with GTF_ICON_INITCLASS were propagated and then subsequently hoisted incorrectly. This change moves the flag to an OperIsIndir() flag instead of being a flag on the constant. After some digging, I found that the original reason the flag was not an indir flag was simply that there were no more indir flags available, but we do have available flags today. This fix is much simpler than the alternatives which would be to teach VN/local copy prop to propagate this GTF_ICON_INITCLASS flag. Also remove GTF_FLD_INITCLASS which is never set.
Configuration menu - View commit details
-
Copy full SHA for fc2e53a - Browse repository at this point
Copy the full SHA fc2e53aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b7440a - Browse repository at this point
Copy the full SHA 2b7440aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05c848c - Browse repository at this point
Copy the full SHA 05c848cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 58c9d82 - Browse repository at this point
Copy the full SHA 58c9d82View commit details -
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition
Configuration menu - View commit details
-
Copy full SHA for 5981e5e - Browse repository at this point
Copy the full SHA 5981e5eView commit details
Commits on Apr 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 043df46 - Browse repository at this point
Copy the full SHA 043df46View commit details -
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition
Configuration menu - View commit details
-
Copy full SHA for 9aed5e5 - Browse repository at this point
Copy the full SHA 9aed5e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33b899b - Browse repository at this point
Copy the full SHA 33b899bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b0d92e - Browse repository at this point
Copy the full SHA 3b0d92eView commit details
Commits on Apr 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 63ec4fb - Browse repository at this point
Copy the full SHA 63ec4fbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c12a74 - Browse repository at this point
Copy the full SHA 6c12a74View commit details -
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition-remainder
Configuration menu - View commit details
-
Copy full SHA for fb9af8d - Browse repository at this point
Copy the full SHA fb9af8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eef1d9 - Browse repository at this point
Copy the full SHA 1eef1d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9578acd - Browse repository at this point
Copy the full SHA 9578acdView commit details -
Configuration menu - View commit details
-
Copy full SHA for be5b809 - Browse repository at this point
Copy the full SHA be5b809View commit details
Commits on Apr 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d84ecf0 - Browse repository at this point
Copy the full SHA d84ecf0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d882e09 - Browse repository at this point
Copy the full SHA d882e09View commit details
Commits on May 2, 2023
-
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition
Configuration menu - View commit details
-
Copy full SHA for 4186c51 - Browse repository at this point
Copy the full SHA 4186c51View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d46dd2 - Browse repository at this point
Copy the full SHA 6d46dd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for d252517 - Browse repository at this point
Copy the full SHA d252517View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2afbf82 - Browse repository at this point
Copy the full SHA 2afbf82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 846ce0d - Browse repository at this point
Copy the full SHA 846ce0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a9481e - Browse repository at this point
Copy the full SHA 0a9481eView commit details
Commits on May 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 5ad9291 - Browse repository at this point
Copy the full SHA 5ad9291View commit details -
Configuration menu - View commit details
-
Copy full SHA for c7254bf - Browse repository at this point
Copy the full SHA c7254bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f782dd - Browse repository at this point
Copy the full SHA 6f782ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0888806 - Browse repository at this point
Copy the full SHA 0888806View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9641dbe - Browse repository at this point
Copy the full SHA 9641dbeView commit details -
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition
Configuration menu - View commit details
-
Copy full SHA for 7d96e83 - Browse repository at this point
Copy the full SHA 7d96e83View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd2021d - Browse repository at this point
Copy the full SHA bd2021dView commit details
Commits on May 4, 2023
-
Merge branch 'main' of github.com:dotnet/runtime into more-general-de…
…composition
Configuration menu - View commit details
-
Copy full SHA for 5929d19 - Browse repository at this point
Copy the full SHA 5929d19View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39428e4 - Browse repository at this point
Copy the full SHA 39428e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c7a9f8d - Browse repository at this point
Copy the full SHA c7a9f8dView commit details
Commits on May 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b346598 - Browse repository at this point
Copy the full SHA b346598View commit details -
Configuration menu - View commit details
-
Copy full SHA for d431901 - Browse repository at this point
Copy the full SHA d431901View commit details