Second for inlining report
This is the second in a series of three patches for the inlining report. This annotates the InlineCost.[h,cpp] to include reasons for inlining. Not all of the reasons are included here, as some are handled in the third patch which has more changes to Inliner.cpp. The previous patch was D19397.
Fundamentally, I don't think this is the right abstraction. You have a set of reasons that you're trying to squeeze down into a single value. We're probably better off exposing all the contributing reasons to the frontend with a ranking to indicate how important they are.
The feedback on the earlier patch seems to be leading in the same direction. I'm not going to review this patch further until that part has been worked out.