From cac8ce95a1e4c7b10f5847d35b3650e6fba8d38c Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Mon, 5 Oct 1998 22:03:25 +0000 Subject: unroll.c (loop_iteration_var, [...]): No longer static. * unroll.c (loop_iteration_var, loop_initial_value, loop_increment loop_final_value, loop_comparison_code): No longer static. (unroll_loop): Delete loop_start_value update. * loop.h (loop_iteration_var, loop_initial_value, loop_increment, loop_final_value, loop_comparison_code): Extern. (loop_start_value): Delete extern. * loop.c (loop_can_insert_bct, loop_increment, loop_start_value, loop_comparison_value, loop_comparison_code): Delete. (loop_optimize): Remove initialization for deleted variables. (strength_reduce): Delete analyze_loop_iterations call. Only call insert_bct if flag_branch_count_on_reg set. (analyze_loop_iterations): Delete. (insert_bct): Remove iteration count calculation. Move checks for viable BCT optimization to here. Obtain iteration count from loop_iterations and correct for unrolling. Check for enough iteration to be beneficial. Comment out runtime iteration count case. (insert_bct): Print iteration count in dump file. Remove loop_var_mode and use word_mode directly. * rs6000.h (processor_type): Add PROCESSOR_PPC604e. * rs6000.c (rs6000_override_options): Use it. (optimization_options): Enable use of flag_branch_on_count_reg. * rs6000.md (define_function_unit): Describe 604e. From-SVN: r22852 --- gcc/unroll.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'gcc/unroll.c') diff --git a/gcc/unroll.c b/gcc/unroll.c index 72f1f04..3222e20 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -189,11 +189,11 @@ static int *splittable_regs_updates; /* Values describing the current loop's iteration variable. These are set up by loop_iterations, and used by precondition_loop_p. */ -static rtx loop_iteration_var; -static rtx loop_initial_value; -static rtx loop_increment; -static rtx loop_final_value; -static enum rtx_code loop_comparison_code; +rtx loop_iteration_var; +rtx loop_initial_value; +rtx loop_increment; +rtx loop_final_value; +enum rtx_code loop_comparison_code; /* Forward declarations. */ @@ -1127,13 +1127,6 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before, /* Set unroll type to MODULO now. */ unroll_type = UNROLL_MODULO; loop_preconditioned = 1; - -#ifdef HAIFA - /* Fix the initial value for the loop as needed. */ - if (loop_n_iterations <= 0) - loop_start_value [uid_loop_num [INSN_UID (loop_start)]] - = initial_value; -#endif } } -- cgit v1.1