Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Phoenix structuring failure - EagerReturns after SwitchLowering #4252

@mahaloz

Description

@mahaloz

Description

In the test case test_reverting_switch_lowering_filename_unescape, the check for no gotos fails on the new branch associated with: #4250.

This happens because after duplicating returns with EagerReturns, Phoenix structuring is run on the CFG. The structuring fails, which causes EagerReturns to bail out and make no changes to the graph. Attached is a picture of the graph sent to Phoenix Structuring.

graph

To debug, go onto the feat/sailr_ret_dupe branch (if that PR is not in master already), break right at the exit of _analyze in the EagerReturns code, check the graph. You can use the self._graph_is_structurable(graph) function to help.

Steps to reproduce the bug

No response

Environment

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions