-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use a simpler representation for array addresses after morph (#64581)
* Do not copy flags in ADDR/COMMA opt We only need to update the side effects, and gtUpdateNodeSideEffects already takes care of that. Will avoid copying GTF_NO_CSE unnecessarily. No diffs. * Add GT_ARR_ADDR * Generate ARR_ADDR in morph * gtSetEvalOrder tuning * Delete the ArrayInfo map * Delete GTF_IND_ARR_INDEX * Make ARR_ADDR non-null This preserves the non-faultness annotation for the parent indir when ADDR(IND(ARR_ADDR)) -> ARR_ADDR folding happends. * Simplify the array address parsing We don't need the field sequence or the complex parsing. A few diffs because previos code didn't handle COMMAs. (The new code doesn't either, but they are skipped automatically by the optComputeLoopSideEffectsOfBlock). * Clean ParseArrayAddress up Move it to GenTreeArrAddr, stop using ArrayInfo. * More ParseArrayAddress cleanup FldSeq no loger expected or needed. We will be attaching it to ARR_ADDR directly in the future. * Delete index labeling And associated code. No longer needed, and we will use a different mechanism for ARR_ADDR. No diffs. * Delete the last pseudo-field No longer needed... * Delete ArrayInfo * Fix formatting
- Loading branch information
1 parent
3efef3d
commit 779de9b
Showing
19 changed files
with
384 additions
and
1,020 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.