Implemented a better variable elimination pass. This new implementation is efficient and manages to remove all unused variables in one run.
Additionally, this PR adds some extra utility functions to OrderedSet()
How I did it
How to verify it
Commit message
This commit improves the variable elimination pass by efficiently removing
all instructions that produce unused output. This new algorithm removes all
unused variables in one run.
Additionally, it adds the utility functions `pop()` and `addmany()` to the
`OrderedSet()` class.
The `DFTAnalysis` is also augmented with a method to remove uses:
`remove_use(self, op: IRVariable, inst: IRInstruction)`
What I did
Implemented a better variable elimination pass. This new implementation is efficient and manages to remove all unused variables in one run.
Additionally, this PR adds some extra utility functions to
OrderedSet()
How I did it
How to verify it
Commit message
Description for the changelog
Cute Animal Picture