-
Notifications
You must be signed in to change notification settings - Fork 406
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
Rename Refactor #304
Rename Refactor #304
Conversation
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.
At a high-level, my only real request is that you think hard about adding asserts to the rename logic (esp. the freelist and maptable). I was too lazy and complacent to do so before, but I think now is a good time to do so while the logic is fresh in your mind.
… a problem in testing because all unique instructions currently perform a flush upon commit.
… return an already-free physical register.
3243b6b
to
ccb4c39
Compare
…ow, as it may have a future use.
7dece28
to
ee7a548
Compare
ee7a548
to
2ffe128
Compare
…cate mapping assert.
…se where a branch at the rob tail could mispredict during the first cycle of rollback. This bug was also present prior to this refactor. This is the best fix because it should not affect the speed of the branch/exception kill paths, and might also enable a future QoR tweak.
2ffe128
to
b698b0a
Compare
This should be ready to go now. I'll do another check that it boots Fedora after this big round of tweaks. |
Boots Fedora fine with 2, 3, and even 4 -wide pipelines. |
Add a specific toolchain `env.sh`
Type of change: other enhancement
Impact: rtl refactoring
Development Phase: implementation
Release Notes
Rewrote rename structures more concisely and refactored the decode/rename/dispatch pipeline control logic.