Remove dead values before shape refinement
Remove dead values before shape refinement

Some programs have a lot of dead values, causing shape refinement to fail to
converge. Indeed, even if there is no shape refinement to do, greedy pattern
rewrites keep iterating as long as the IR changes, which includes removing dead
values.
