Nikita Popov 902ddda120
[DropUnnecessaryAssumes] Add pass for dropping assumes (#159403)
This adds a new pass for dropping assumes that are unlikely to be useful
for further optimization.

It works by discarding any assumes whose affected values are one-use
(which implies that they are only used by the assume, i.e. ephemeral).

This pass currently runs at the start of the module optimization
pipeline, that is post-inline and post-link. Before that point, it is
more likely for previously "useless" assumes to become useful again,
e.g. because an additional user of the value is introduced after
inlining + CSE.
2025-09-18 14:44:04 +00:00
..