Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> writes: > @@ -6701,6 +6753,24 @@ alloc_global_sched_pressure_data (void) > saved_reg_live = BITMAP_ALLOC (NULL); > region_ref_regs = BITMAP_ALLOC (NULL); > } > + > + /* Calculate number of CALL_USED_REGS in register classes that > + we calculate register pressure for. */ > + for (int c = 0; c < ira_pressure_classes_num; ++c) > + { > + enum reg_class cl = ira_pressure_classes[c]; > + > + call_used_regs_num[cl] = 0; > + > + for (int i = 0; i < ira_class_hard_regs_num[cl]; ++i) > + if (call_used_regs[ira_class_hard_regs[cl][i]]) > + { > + /* Register I belongs to pressure class CL. Pressure > + classes do not intersect, so don't look further. */ > + ++call_used_regs_num[cl]; > + break; > + } > + }
I don't think we want the break here. The effect would be to count at most one call-used register per pressure class. Thanks, Richard