-
Notifications
You must be signed in to change notification settings - Fork 566
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
i#6238: Add categorization of x86 instruction mix and subcategories for FP category. #6308
Conversation
30f5e2c
to
d6cceb0
Compare
code_api|tool.drcachesim.scattergather-x86 test is failed without these changes. towrite size is 4128 and ipc_pipe.get_atomic_write_size() is 4096 on the fail check |
Fail was started after #6290. Looks like you know about issue :) @derekbruening , could you review categorization for x86. |
Was traveling. Will take a look. |
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.
Sorry, I don't have much time this week: only made it through the first 4 files so far but had some comments so sending them out.
7ba6b51
to
1029ba5
Compare
…ynamoRIO/dynamorio into x86_instruction_categorization * 'x86_instruction_categorization' of https://github.com/DynamoRIO/dynamorio: apply set of comments
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.
Looking pretty good, but maybe worth one more glance after this set of suggestions before merging.
…ad/store category
…tional load/store category
…memory and instr_writes_memory
…king for instr_reads_memory and instr_writes_memory
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.
Thank you for contributing this feature and working through the review process.
The x86 OP_*fence opcodes were marked with inaccurate categories in the original PR #6308. Here we change all 3 to DR_INSTR_CATEGORY_STATE under the logic that the STATE category is the one most likely to be interpreted as a barrier by a simulator. (If we add an ATOMIC category in the future we'll switch to that.) Issue: #6238
The x86 OP_*fence opcodes were marked with inaccurate categories in the original PR #6308. Here we change all 3 to DR_INSTR_CATEGORY_STATE under the logic that the STATE category is the one most likely to be interpreted as a barrier by a simulator. (If we add an ATOMIC category in the future we'll switch to that.) Issue: #6238
This PR extends #6237 by adding categorization for x86 instruction mix. It introduces subcategories like MATH, CONVERT, and MOVE for both x86 and AArch64. For instance, arithmetic floating-point operations will have DR_INSTR_CATEGORY_FP | DR_INSTR_CATEGORY_MATH category.
Issue: #6238
Not all x86 opcodes are categorized nd such instructions are marked 'UNCATEGORIZED"