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

mark conditional branches and string loops as predicated #1556

Open
derekbruening opened this issue Nov 28, 2014 · 1 comment
Open

mark conditional branches and string loops as predicated #1556

derekbruening opened this issue Nov 28, 2014 · 1 comment

Comments

@derekbruening
Copy link
Contributor

From [email protected] on October 30, 2014 18:52:04

The new predication API (xref issue #269 , issue #1181 ) should probably consider general
conditional branches to also be predicated. For x86, OP_jcc is simple to
translate to DR_PRED_ constants -- but we'd have to add new ones or ensure
DR_PRED_COMPLEX's assumptions hold for OP_jecxz.

What about OP_rep_movs for when ecx is 0?

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=1556

dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 5, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 5, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 5, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
@derekbruening
Copy link
Contributor Author

I think arm and aarch64 conditional branches are already marked as predicated? Except for OP_cbz and OP_tbz -- similarly to OP_jecxz.

dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 8, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 8, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 9, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
dvyukov added a commit to dvyukov/dynamorio that referenced this issue Dec 9, 2021
Marks JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Issues: DynamoRIO#1556
derekbruening pushed a commit that referenced this issue Dec 10, 2021
Marks x86 JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Adds a sanity test to api.ir.

Issue: #1556
prasun3 pushed a commit to prasun3/dynamorio that referenced this issue Jun 6, 2022
Marks x86 JCC instructions as predicated so that instr_is_predicated()
and instr_get_predicate() work for them.
This does not touch OP_jecxz because the predicate is not expressable
with the current predicates.

Adds a sanity test to api.ir.

Issue: DynamoRIO#1556
github-merge-queue bot pushed a commit that referenced this issue Aug 30, 2023
i#1556: Mark x86 rep instructions as predicated.

Issue: #1556
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant