Dpdk Backend: Move Mux handling after simplifying select expression #3464
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Comparison operations on RHS of assignment are translated into Mux expressions. Mux expressions are further simplified into if-else statement by the dpdk backend
Mux expression handling in backend works on Assignment statement assuming the Mux expressions are simplified into RHS of Assignment statements.
When statements like below are present in parser state, copy propagation moves the assignment statement inside Select expression which is not simplified when control reaches Mux handling.
Moving DismantleMuxExpressions after RemoveComplexExpressions (which simplifies Select Expressions) solves this issue.