This is a follow-up refactor patch to https://reviews.llvm.org/D95832
[SampleFDO][NFC] Refactor SampleProfileLoad to reuse the code in CodeGen
The main changes are:
(1) Move SampleProfileLoaderBaseImpl class to a header file: include/llvm/ProfileData/SampleProfileLoaderBaseImpl.h.
(2) Split SampleCoverageTracker to a head file: include/llvm/ProfileData/SampleProfileLoaderBaseUtil.h,
and a cpp file: lib/ProfileData/SampleProfileLoaderBaseUtil.cpp.
(3) Make the pointer reference to SampleCoverageTracker in the base class. This is to break the dependence from SampleProfileLoaderBaseImpl to SampleCoverageTracker. All the references will be through the wrapper functions.
(4) Move the common codes (common options and callsiteIsHot()) to lib/ProfileData/SampleProfileLoaderBaseUtil.cpp.
avoid using namespace in header file.