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
This would be good to do for human-readability of the kernels Vincent is generating (mostly in removing the statically specified shuffle arrays that are rendered dead).
There are a few different places in the code this could slot in:
Currently, shuffle-truncation-pass.rkt is where these shuffle indices are created, so we could handle deduplication there. Alternatively, we could add a new dead-code-elminiation-pass.rkt file to do just the deduplication and dead code elimination passes there. That pass would get called from compiler.rkt
avanhatt
changed the title
Implement dead code elimination/value numbering
Implement dead code elimination/value numbering for shuffles
May 13, 2021
One path forward: starting in shuffle-truncation-pass.rkt, build a map of final are already seen, and reference an existing shuffle instead of building a new duplicate one where possible. Then have a second pass to make sure any other "dead" shuffles are removed (likely working through the list of instructions backwards, removing any shuffle declaration where you haven't seen a use).
We should run DCE after register allocation and shuffle truncation. We generate quite a few unnecessary registers.
The text was updated successfully, but these errors were encountered: