This patch combines three patches
This is for illustrative purposes, for post on llvm-dev, if it is agreed this is the direction we want to go will break it up in to three different patches.
Changed CG profile symbol index information to be encoded in relocations. This allows post processing tools like strip to be used on object files while preserving correct symbol indices.
Initial pathfinding done by @modimo.