Hi Jeff
 gentle ping! :) >> A more interesting number would be how often we previously 
rejected an 
>> if-conversion, but after accounting for parallelism we allow it. I'm not 
>> necessarily suggesting you spend meaningful time to get that data, just 
>> that I suspect a lot of the cases above are already being if-converted, 
>> even with the huge inaccuracies in the cost model.
I instrumented the profitability hook to evaluate each candidate using
both the original serial cost and the new parallel cost.
I also found a configuration difference in my previous measurements.
The C benchmarks in the earlier run were compiled with
-mbranch-cost=10. The new run uses the default c9501 branch cost,
without an explicit -mbranch-cost option.
This explains why the two sets of total counts differ significantly.
The previous 16,947 figure was the number of candidates for which the
parallel cost analysis succeeded, rather than the number of accepted
if-conversions. It is therefore not directly comparable with the
11,547 candidates accepted by the parallel model in the new run.
The results were:
Accepted with the serial cost: 7,283
Accepted with the parallel cost: 11,547
Rejected before, accepted now: 4,264
So, while many candidates were already being if-converted, accounting
for parallelism still enables a significant number of additional
conversions under the default branch-cost setting.
When you have a chance, could you please review the latest version of
the patch?
Best regards,
Wang Jue 

Reply via email to