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
the constant folding pass includes a "dead-code-elimination" phase at the end. Let's extract this into a separate pass. Constant folding can (perhaps optionally) invoke that pass.
Problems with the existing dead code elimination in constant folding:
There is a special case for CFG edges, perhaps this should be cleaned up.
This means an order edge from an op to an output node keeps the op alive, but an order edge from an input node to an op does not keep that op alive. This seems wrong.
We have no explicit notion of ops having "side effects". However they can be simulated with order edges from that op to the output node for example:
a panic op with no neighbours is considered dead.
A call node is dead if it has no out neighbours.
a QFree with no order edge to the output is dead by this definition. The graph will end up invalid, with unused linear ports
The text was updated successfully, but these errors were encountered:
the constant folding pass includes a "dead-code-elimination" phase at the end. Let's extract this into a separate pass. Constant folding can (perhaps optionally) invoke that pass.
Problems with the existing dead code elimination in constant folding:
The text was updated successfully, but these errors were encountered: