This patch makes personality functions, prefix data, and prologue data hungoff operands of Function. It lets us remove a bit of code and generally cleans things up in llvm::Function. The consensus seems to be that this has a negligible impact on performance.
More discussion (and performance numbers) are available here: http://lists.llvm.org/pipermail/llvm-dev/2015-October/091169.html
Was the earlier comment incorrect? (i.e. CallingConvention should have been 3-15 earlier)?
If so, you might want to correct that mistake separately and check that in, and rebase this patch over that. That'll make the diff clearer.
Also, why did you choose bit 15? Doesn't it make sense to group this together with the rest of the Has* enums, before CallingConvention? (What you have here is fine btw, I'm just curious).