Skip to content
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

SPU Debugger Improvements: Add MR mnemonics, constants propagation and more #9113

Merged
merged 7 commits into from Oct 23, 2020

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Oct 22, 2020

  • Add made-up MR mnemonic for [ORI x, y, 0] and [SHLQBYI x, y, 0] instructions. MR as in "move register" as the PowerPC mnemonic.
  • Optimize debugger thread context update a bit by not iterating over all CELL threads, only the single relevant thread ID to us.
  • Detect simple constant command propagation in WRCH and a few more instructoios which should work in most of the cases.
  • Add SPURS workload argument in kernel-explorer.
  • Cleanup SPU channels logging. (rely entirely on spu_ch_name)
  • Fix bug in CPUDisAsm::SignedHex regarding INTx_MIN.

@elad335 elad335 force-pushed the spu-debug branch 5 times, most recently from 70d714a to 07be04a Compare October 22, 2020 16:52
Some correctness fixes as well: dont use raw pointers where its not compatible, use std::weak_ptr instead.
@elad335 elad335 force-pushed the spu-debug branch 2 times, most recently from 4045a89 to 887895f Compare October 22, 2020 18:28
@elad335 elad335 changed the title Few SPU Debugger Improvements Few SPU Debugger Improvements: Add MR mnemonics, constants propagation and more Oct 22, 2020
@elad335
Copy link
Contributor Author

elad335 commented Oct 22, 2020

SPU instruction regsiters' value constant propagation:
image

@elad335 elad335 force-pushed the spu-debug branch 4 times, most recently from 9a36d27 to 77e726f Compare October 22, 2020 18:54
@elad335 elad335 changed the title Few SPU Debugger Improvements: Add MR mnemonics, constants propagation and more SPU Debugger Improvements: Add MR mnemonics, constants propagation and more Oct 22, 2020
@elad335 elad335 force-pushed the spu-debug branch 5 times, most recently from 5980509 to 2eaf0ae Compare October 23, 2020 05:24
Only functional in WRCH and ILHU+IOHL pattern atm.
ILHU+IOHL is extremely common pattern to create 32-bit constants such as SPPU libraries error codes.
It didnt take into account INTx_MIN. (UB for std::abs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants