This is a set of refactors split out from the new MSSA walker. This entire patch is NFC.
No reviewers, since this is basically one big refactor. If someone wants to explicitly LGTM it, they're welcome to, but the only reasons I'm putting this up here are:
- Some of the refactors here make little sense if we don't adopt the new walker (e.g. just committing all of this seems mildly pointless), and
- Reviewing the new walker is much easier if this code is split out
This is expected to be committed with the new MSSA walker (review coming soon). Specifically, the new walker will be applied on top of this patch.
If the new walker doesn't land, some of the tiny refactors here (e.g. adding // namespace llvm, etc.) will be committed separately; I'm just lazy and didn't feel like splitting them out further. :)
I see you removed this - this is a utility being used as part of updating for another pass i haven't submitted yet.