Refactor the AutoFDO implementation.
1. Use new profile format (tree based).
2. Rewrite autofdo-profile.c using C++.
3. Remove dependencies in other modules.
The new profile format has the following benefits:
1. More space efficient: profile size is usually 30%~40% as the original format.
2. Make iterative indirect call promotion possible.
3. Does not depend on file name any more. (more tolerant to source change)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/google@201615 138bc75d-0d04-0410-961f-82ee72b054a4