NEW174762
B3 should have a reusable EffectsSet data structure
https://bugs.webkit.org/show_bug.cgi?id=174762
Summary B3 should have a reusable EffectsSet data structure
Filip Pizlo
Reported 2017-07-23 13:12:54 PDT
Currently there are a couple places (eliminateCommonSubexpressions and hoistLoopInvariantValues) that both construct a data structure that tracks the set of effects. When we are just tracking heap ranges, then a RangeSet<> will do. But sometimes we want to track that and the other things (control dependence, side exiting, things done to local state, etc). We basically want a version of Effects that tracks the set of effects: so the same boolean fields, but RangeSet<HeapRange> for reads/writes. This would make some code a bit less yucky and a considerably less error-prone. It ought to be perf neutral, too (it just means flipping a handful more booleans).
Attachments
Note You need to log in before you can comment on or make changes to this bug.