aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.h
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@mhpcc.edu>1998-10-05 22:03:25 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>1998-10-05 18:03:25 -0400
commitcac8ce95a1e4c7b10f5847d35b3650e6fba8d38c (patch)
tree73ad9f3c2b5d7897f532583b4fa7c64ee081961a /gcc/loop.h
parentd64db93fbcb807f996f5b7204603c18893a7b0b9 (diff)
downloadgcc-cac8ce95a1e4c7b10f5847d35b3650e6fba8d38c.zip
gcc-cac8ce95a1e4c7b10f5847d35b3650e6fba8d38c.tar.gz
gcc-cac8ce95a1e4c7b10f5847d35b3650e6fba8d38c.tar.bz2
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
Diffstat (limited to 'gcc/loop.h')
-rw-r--r--gcc/loop.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/loop.h b/gcc/loop.h
index 6851aa7..d0ae25f 100644
--- a/gcc/loop.h
+++ b/gcc/loop.h
@@ -1,5 +1,5 @@
/* Loop optimization definitions for GNU C-Compiler
- Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1995, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -184,9 +184,12 @@ void emit_unrolled_add PROTO((rtx, rtx, rtx));
int back_branch_in_range_p PROTO((rtx, rtx, rtx));
extern int *loop_unroll_factor;
-#ifdef HAIFA
-/* variables for interaction between unroll.c and loop.c, for
- the insertion of branch-on-count instruction. */
-extern rtx *loop_start_value;
-#endif /* HAIFA */
+
+#ifdef HAVE_decrement_and_branch_on_count
+extern rtx loop_iteration_var;
+extern rtx loop_initial_value;
+extern rtx loop_increment;
+extern rtx loop_final_value;
+extern enum rtx_code loop_comparison_code;
+#endif /* HAVE_decrement_and_branch_on_count */