This patch introduces a wrapper class that re-implements several mutator methods of SwitchInst to handle changes of prof branch_weights metadata along with remove/add switch case methods.
Subsequent patches will use this wrapper to implement prof branch_weights metadata handling for SwitchInst.
This patch is a redesigned way of prof branch_weights handling proposed in D60554 and D60604. It does not change contract of SwitchInst.