See ConvergentOperations.rst for the details.
This replaces the proposal from https://reviews.llvm.org/D68994
This patch adds the operand bundle and intrinsics themselves, as well as
the LangRef documentation describing the semantics of controlled
convergent operations. Follow-up patches will adjust existing passes to
comply with those changes, as well as provide new functionality on top
of this mechanism.