aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.h
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2003-02-26 10:48:36 +0000
committerZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2003-02-26 10:48:36 +0000
commit38418914e78dea3cfbcf065741e7788f0dd7091b (patch)
tree0eb271bb5e907e017194e3ff3b24e129090bdcf6 /gcc/cfgloop.h
parent5a69a2297e61d5f840f7ec4887d5bd267bdf7c06 (diff)
* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
* Makefile.in (loop-unroll.o): New. * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New. (unroll_and_peel_loops): Declare. * alias.c (init_alias_analysis): Flag_unroll_loops renamed to flag_old_unroll_loops. * loop.c (loop_invariant_p): Ditto. * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to flag_old_unroll_all_loops. * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops. (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops. * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed. (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES, PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES, PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES, PARAM_MAX_ONCE_PEELED_INSNS): New. * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New. (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller instead of old one. (flag_peel_loops): New. (lang_independent_options): The new flags added. (rest_of_compilation): Call new unroller. (process_options): Setup flags for coexistence of old and new unroller. * doc/invoke.texi: Document new options. * doc/passes.texi: Document new unroller pass. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@63462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r--gcc/cfgloop.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
index c46602f790a..ae1e5290e40 100644
--- a/gcc/cfgloop.h
+++ b/gcc/cfgloop.h
@@ -337,3 +337,11 @@ extern void loop_optimizer_finalize PARAMS ((struct loops *, FILE *));
/* Optimization passes. */
extern void unswitch_loops PARAMS ((struct loops *));
+enum
+{
+ UAP_PEEL = 1, /* Enables loop peeling. */
+ UAP_UNROLL = 2, /* Enables peeling of loops if it seems profitable. */
+ UAP_UNROLL_ALL = 4 /* Enables peeling of all loops. */
+};
+
+extern void unroll_and_peel_loops PARAMS ((struct loops *, int));