diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-30 15:37:43 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-30 15:37:43 +0000 |
commit | 758df2833be13ffcf3ddd2b04d4cc375f28dae0a (patch) | |
tree | 6d433974ec952d60a7a61ed475ee648cc78c8fb6 /gcc/common/config/c6x | |
parent | 8c3bcbe39e82ea074ff2f73cd7abcf992eeaa58b (diff) | |
download | gcc-758df2833be13ffcf3ddd2b04d4cc375f28dae0a.tar.gz |
* common/config/c6x/c6x-common.c (c6x_option_optimization_table):
Enable -fmodulo-sched at -O2 and above.
* config/c6x/c6x.md (doloop_end): New expander.
(mvilc, sploop, spkernel, loop_end): New patterns.
(loop_end with memory destination splitter): New.
* config/c6x/c6x.c: Include "hw-doloop.h".
(enum unitreqs): New.
(unit_req_table): New typedef.
(unit_reqs): New static variable.
(unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
(struct c6x_sched_context): New member last_scheduled_iter0.
(init_sched_state): Initialize it.
(c6x_variable_issue): Update it.
(sploop_max_uid_iter0): New static variable.
(c6x_sched_reorder_1): Be careful about issuing sploop.
(c6x_reorg): Call c6x_hwlooops before the final schedule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179393 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/common/config/c6x')
-rw-r--r-- | gcc/common/config/c6x/c6x-common.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/common/config/c6x/c6x-common.c b/gcc/common/config/c6x/c6x-common.c index 133dddadbf4..a9c98af2266 100644 --- a/gcc/common/config/c6x/c6x-common.c +++ b/gcc/common/config/c6x/c6x-common.c @@ -33,6 +33,7 @@ static const struct default_options c6x_option_optimization_table[] = { { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, { OPT_LEVELS_1_PLUS, OPT_frename_registers, NULL, 1 }, + { OPT_LEVELS_2_PLUS, OPT_fmodulo_sched, NULL, 1 }, { OPT_LEVELS_ALL, OPT_freciprocal_math, NULL, 1 }, { OPT_LEVELS_NONE, 0, NULL, 0 } }; |