This pass turns uncontrolled convergent operations into controlled ones
by adding appropriate "convergencectrl" bundles and inserting
convergence control intrinsics.
When this pass is used immediately after generating LLVM IR, it will in
many cases establish convergence control that enforces the semantics
that a programmer would likely expect based on the high-level language
source. However, there are exceptions.
This pass is not intended to be used by default. Frontends that care
about semantics of convergent operations should really emit convergence
control information directly, but this pass can serve as a convenient
stop-gap.
Change-Id: I1c72b53567cb4e8b9b82f31f9c8525f2622cd242
clang-format suggested style edits found: