diff options
Diffstat (limited to 'gcc/final.cc')
-rw-r--r-- | gcc/final.cc | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/final.cc b/gcc/final.cc index a986886..c5427d2 100644 --- a/gcc/final.cc +++ b/gcc/final.cc @@ -642,8 +642,7 @@ compute_alignments (void) flow_loops_dump (dump_file, NULL, 1); } loop_optimizer_init (AVOID_CFG_MODIFICATIONS); - profile_count count_threshold = cfun->cfg->count_max.apply_scale - (1, param_align_threshold); + profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; if (dump_file) { @@ -710,10 +709,9 @@ compute_alignments (void) if (!has_fallthru && (branch_count > count_threshold - || (bb->count > bb->prev_bb->count.apply_scale (10, 1) + || (bb->count > bb->prev_bb->count * 10 && (bb->prev_bb->count - <= ENTRY_BLOCK_PTR_FOR_FN (cfun) - ->count.apply_scale (1, 2))))) + <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2)))) { align_flags alignment = JUMP_ALIGN (label); if (dump_file) @@ -727,9 +725,7 @@ compute_alignments (void) && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) && optimize_bb_for_speed_p (bb) && branch_count + fallthru_count > count_threshold - && (branch_count - > fallthru_count.apply_scale - (param_align_loop_iterations, 1))) + && (branch_count > fallthru_count * param_align_loop_iterations)) { align_flags alignment = LOOP_ALIGN (label); if (dump_file) |