diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-26 10:48:36 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-26 10:48:36 +0000 |
commit | ce32fe651e3e727188452fa6e1eebb7d2c27e356 (patch) | |
tree | 0eb271bb5e907e017194e3ff3b24e129090bdcf6 /gcc/cfgloop.h | |
parent | 7df58c71754e16e6249e238b64b7c572783511f2 (diff) | |
download | gcc-ce32fe651e3e727188452fa6e1eebb7d2c27e356.tar.gz |
* 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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r-- | gcc/cfgloop.h | 8 |
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)); |