This patch introduces non-CS AutoFDO profile generation into LLVM. The profile is supposed to be well consumed by compiler using -fprofile-sample-use=[profile].
After range and branch counters are extracted from the LBR sample, here we go through each addresses for symbolization, create FunctionSamples and populate its sub fields like TotalSamples, BodySamples and HeadSamples etc. For inlined code, as we need to map back to original code, so we always add body samples to the leaf frame's function sample.
Add a test case to cover call site profile for inlinees?