-
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
Add more iterators to JIT #52515
Add more iterators to JIT #52515
Commits on Jun 7, 2021
-
Add more JIT data structure iterators
1. Make more BasicBlock members `const`.
Configuration menu - View commit details
-
Copy full SHA for 691fb23 - Browse repository at this point
Copy the full SHA 691fb23View commit details -
Convert all non-phi statement iteration to the form:
`for (Statement* stmt : blk->NonPhiStatements())`
Configuration menu - View commit details
-
Copy full SHA for 259d8b8 - Browse repository at this point
Copy the full SHA 259d8b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29b3002 - Browse repository at this point
Copy the full SHA 29b3002View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c6f04c - Browse repository at this point
Copy the full SHA 0c6f04cView commit details -
Configuration menu - View commit details
-
Copy full SHA for df142e5 - Browse repository at this point
Copy the full SHA df142e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c2d365 - Browse repository at this point
Copy the full SHA 7c2d365View commit details -
Configuration menu - View commit details
-
Copy full SHA for 794bc30 - Browse repository at this point
Copy the full SHA 794bc30View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fcbc2c - Browse repository at this point
Copy the full SHA 4fcbc2cView commit details -
Mark Statement pointer as const in iterators
This matches the style used for block and GenTree iterators, and prevents errors where changing the stmt pointer expects the iterator location to change.
Configuration menu - View commit details
-
Copy full SHA for dabf463 - Browse repository at this point
Copy the full SHA dabf463View commit details -
Configuration menu - View commit details
-
Copy full SHA for f03d4b3 - Browse repository at this point
Copy the full SHA f03d4b3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99d7d5b - Browse repository at this point
Copy the full SHA 99d7d5bView commit details -
Add overloads for Compiler::Blocks()
With this change, all block iteration can start from Compiler::Block(): ``` for (BasicBlock* const block : compiler->Blocks()) ... for (BasicBlock* const block : compiler->Blocks(startBlock)) ... for (BasicBlock* const block : compiler->Blocks(startBlock, endBlock)) ... ``` The second two could be `static`, but I haven't done that.
Configuration menu - View commit details
-
Copy full SHA for 5e93982 - Browse repository at this point
Copy the full SHA 5e93982View commit details -
Add iterator for switch targets
E.g.: ``` for (BasicBlock* const target : block->SwitchTargets()) ``` Also, (1) reverted one LSRA block iterator, (2) tweaked LSRA block ordering dump.
Configuration menu - View commit details
-
Copy full SHA for 75711d1 - Browse repository at this point
Copy the full SHA 75711d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57d9fa4 - Browse repository at this point
Copy the full SHA 57d9fa4View commit details -
Add iterator for block successors
e.g., for (BasicBlock* const succ : block->Succs()) This is equivalent to looping using NumSucc() and GetSucc() using the versions which don't take a `Compiler*`.
Configuration menu - View commit details
-
Copy full SHA for 91108db - Browse repository at this point
Copy the full SHA 91108dbView commit details -
If fall-through and branch destinations are identical, only iterate over one.
Configuration menu - View commit details
-
Copy full SHA for 33f0706 - Browse repository at this point
Copy the full SHA 33f0706View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3f3d40 - Browse repository at this point
Copy the full SHA a3f3d40View commit details -
Move single-use iterator implementations to be nested classes
For simplicity and consistency.
Configuration menu - View commit details
-
Copy full SHA for ea48595 - Browse repository at this point
Copy the full SHA ea48595View commit details -
Configuration menu - View commit details
-
Copy full SHA for 729a34c - Browse repository at this point
Copy the full SHA 729a34cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 828bf32 - Browse repository at this point
Copy the full SHA 828bf32View commit details