If both an order file and a call graph profile are present, the edges of the call graph which use symbols present in the order file are not used. All of the symbols in the order file will appear at the beginning of the section just as they do currently. In other words, the highest priority derived from the call graph will be below the lowest priority derived from the order file.
Practically, this change renames CallGraphSort.{h,cpp} to SectionPriorities.{h,cpp}, and most order file and call graph profile related code is moved into the new file to reduce duplication.
it's confusing that this variable is named with k, which I assume means it's a constant, and yet it's updated by the function below.
(also I think this is a google specific style - the LLVM coding standard seems to suggest camel case only)