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

Ian/recover flags #559

Merged
merged 8 commits into from
Nov 19, 2021
Merged

Ian/recover flags #559

merged 8 commits into from
Nov 19, 2021

Conversation

2over12
Copy link
Contributor

@2over12 2over12 commented Nov 8, 2021

This PR adds several intrinsics to mark flag computations and branch conditions that can be consumed by branch recovery analyses.

The full list of added intrinsics are:

  __remill_flag_computation_zero
  __remill_flag_computation_overflow
  __remill_flag_computation_sign
  __remill_flag_computation_carry

  __remill_compare_sle
  __remill_compare_slt
  __remill_compare_sgt
  __remill_compare_sge

  __remill_compare_eq
  __remill_compare_neq

  __remill_compare_ugt
  __remill_compare_uge
  __remill_compare_ult
  __remill_compare_ule

Note: This PR breaks anvill downstream due to unresolved stack flags. The SimplifyStackArithFlags pass in the branch recovery PR fixes this issue by substituting flags computed based on the stack pointer.

@2over12 2over12 marked this pull request as ready for review November 19, 2021 21:09
@pgoodman pgoodman merged commit dd14a17 into master Nov 19, 2021
@pgoodman pgoodman deleted the ian/recover_flags branch November 19, 2021 22:26
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.

2 participants