-
Notifications
You must be signed in to change notification settings - Fork 245
Open
Labels
Arch: ARM/ThumbIssues with the ARM/Thumb architecture pluginIssues with the ARM/Thumb architecture pluginComponent: ArchitectureIssue needs changes to an architecture pluginIssue needs changes to an architecture pluginEffort: LowIssue should take < 1 weekIssue should take < 1 weekImpact: LowIssue is a papercut or has a good, supported workaroundIssue is a papercut or has a good, supported workaroundLiftingissues related to LLIL liftingissues related to LLIL lifting
Description
What is the feature you'd like to have?
It would be nice if the lifting strategy for the thumb2 it
instruction could be changed in a way that causes the higher-level ILs to reduce the conditional into a more readable if/else format.
For example, right now
cmp r0, #1
it ne
movs r0, #3
bne #_exit_label
// code being protected from cases where `r0 != 1`
is lifted to HLIL as...
bool cond:0_1 = r0 != 1
if (r0 != 1)
r0 = 3
if (not(cond:0_1))
// code being protected from cases where `r0 != 1`
return
instead of the more readable
if (r0 != 1)
result = 3
else
// useful code being protected from cases where `r0 != 1`
return
Is your feature request related to a problem?
Readability
w1282 and raminri
Metadata
Metadata
Assignees
Labels
Arch: ARM/ThumbIssues with the ARM/Thumb architecture pluginIssues with the ARM/Thumb architecture pluginComponent: ArchitectureIssue needs changes to an architecture pluginIssue needs changes to an architecture pluginEffort: LowIssue should take < 1 weekIssue should take < 1 weekImpact: LowIssue is a papercut or has a good, supported workaroundIssue is a papercut or has a good, supported workaroundLiftingissues related to LLIL liftingissues related to LLIL lifting