This patch changes SwitchInst implementation to keep number of args of prof branch_weights metadata consistent across removeCase() and addCase() calls.
Appropriate code to check this consistency is added to the verifier.
Two ragreedy* tests got their broken prof metadata fixed.
Added several prof branch_weights and appropriate checks to the other 3 tests.
SimplifyCFG.cpp handles the branch weights on its own. It sets the weights when all cases are removed. So it is made to drop the metadata while removing the cases.
Note that this patch does not fix weight values when cases are changed. There will be another patch that implements prof branch_weights metadata handling for SwitchInst instruction for setting correct weights while adding or changing cases.
must be uint64_t