This change allows the unsymbolized profile as input. The unsymbolized profile is created by llvm-profgen with --skip-symbolization and it's after the sample aggregation but before symbolization , so it has much small file size. It can be used for sample merging and trimming, also is useful for debugging or adding test cases. A switch --unsymbolized-profile=file-patch is added for this.
Format of unsymbolized profile:
[context stack1] # If it's a CS profile number of entries in RangeCounter from_1-to_1:count_1 from_2-to_2:count_2 ...... from_n-to_n:count_n number of entries in BranchCounter src_1->dst_1:count_1 src_2->dst_2:count_2 ...... src_n->dst_n:count_n [context stack2] ......
nit: all caps is usually only used for macro. For enum, it's better to follow normal variable naming, which is also the convention used in llvm