Other |
---|
tbdResolved |
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Duplicate :
|
|
Relates :
|
Currently, in PhaseCFG::hoist_to_cheaper_block(), StressGCM follows the GCM heuristic when the candidate block has strictly better frequency and only only randomizes tie-breaking among equally frequent blocks: if (LCA_freq < least_freq || // Better Frequency (StressGCM && C->randomized_select(cand_cnt)) || // Should be randomly accepted in stress mode ... The randomization scope can be significantly extended by allowing GCM to move instructions to blocks with worse frequency at random: if ((StressGCM && C->randomized_select(cand_cnt)) || // Should be randomly accepted in stress mode (!StressGCM && LCA_freq < least_freq) || // Better Frequency ... This would improve StressGCM's ability to expose bugs where C2 relies on GCM heuristics for correctness.
|