You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fixes IR graph for instructions with Bil.while (#1004)
The problem
After #998, string instructions with the rep prefix are represented
with the `Bil.while` statement and have the semantics of a pure data effect
(and therefore do not break a basic block). However, when we reify while into
IR we still have jump terms. And this wasn't anticipated by the sema lifter,
which was glueing IR constituting one basic block, assuming that there
will not be any complex control flow.
This PR fixes this issue (which is not only specific to #998, this PR just
triggered it, in general there could be other cases, when pure data effects are
reified into non-simple control structures, cf. conditional moves).
Solution
Instead of just appending blocks, ensure that they are connected by an explicit jump.
0 commit comments