This is the second half of https://reviews.llvm.org/D66374.
Symbol whitelist is the collection of function symbols showing up in the binary which generates the current profile. It is used to discriminate function being cold versus function being newly added. Symbol whitelist is only added for profile with ExtBinary format.
During profile use compilation, when profile-sample-accurate is enabled, a function without profile will be regarded as cold only when it is contained in that list.
Please use the range-based llvm::sort here.