Convergence utils are helper classes that maintain information
related to convergence intrinsics, such as where convergence anchors
and users of the corresponding tokens are, as well as where hearts of
cycles are.
The convergence utils will be used both by the convergence-aware
uniform analysis and by the reconvergence wave transform in the
AMDGPU backend.
This change also introduces convergence info passes for IR and tests.
v5:
- cleanup #include's
- mark some variables as unused in a release build
v6:
- rename {to,from}Generic -> {wrap,unwrap}Ref
v7:
- cleanup and refactor in terms of "convergencectrl" bundles
- add a test case for the convergenceinfo pass
- cleanup heart-adjusted post-order
Change-Id: Ia07f99b3588c78b810ef0cec2a0568c351b2b6c6
clang-format suggested style edits found: