DynamoRIO / DynamoRIO/dynamorio

Convert predicated execution to non-predicated execution

Open
#1,555 3 comments 0 reactions 0 assignees View on GitHub
Migrated OpSys-ARM Priority-Medium Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

_From [zhao...@google.com](https://code.google.com/u/106321947286816917100/) on October 24, 2014 11:27:23_

Architecture like ARM supports predicated instructions, which causes many problems for current DynamoRIO tools.

For example, instr_writes_to_reg is often used for register liveness analysis and finding dead registers. However, due to the predicated execution, those registers might not be dead during the execution if the condition is false.
Similar problems happen to the eflags analysis too.
Also, DynamoRIO based code coverage will also have the problem, as the code brought to code cache might not be executed at all.

So one potential solution is to convert predicated instructions to non-predicated instructions guarded with conditional branch, which would makes the analysis easier.

_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=1555_

Contributor guide

Open the contributing guide

Research direction

No file, test, or entry point is named. Start by identifying DynamoRIO's existing handling of predicated instructions and clarify the target architectures and supported transformations; the issue does not define a concrete completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.