This change teaches LLVM's inliner to track and suitably adjust
deoptimization state (tracked via deoptimization operand bundles) as it
inlines through call sites. The operation is described in more detail
in the LangRef changes.
Note:
The changes to CALLSITE_DELEGATE_GETTER were needed to allow
unification of the CallInst * and InvokeInst * types into an
Instruction * type in cloneWithOperandBundles.
I'd add something here about it being the frontend responsibility to ensure that the bundle format is sufficient so that individual abstract frames can be reconstructed from the concatenated form if required.