-
Notifications
You must be signed in to change notification settings - Fork 9
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
[Switch Restructuring] Insert CaseNodes #20
Labels
Comments
see also the sample of Issue #34 |
Additionally:
|
/cib |
Branch issue-20-_Switch_Restructuring_Insert_CaseNodes created! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Proposal
The
MissingCaseFinder
searches for possible cases that were not found/there when constructing the initial switch. Now, we insert such a potential case node only if the corresponding case constant does not exist. However, there are cases where we still can insert the missing case.Consider the following decompiled code (test_switch.zip
test7_b
):The preferred output would be:
A similar example is
test18
in the same executable, we currently have:But we would like to have the following output:
Remark:
test18
also has another problem, see Bug #19Approach
Find a good way to check whether it is possible to insert a case node whose case constant already exists.
It is important to consider the reachability of the nodes.
The text was updated successfully, but these errors were encountered: