diff options
author | Bin Cheng <bin.cheng@arm.com> | 2014-11-14 02:32:38 +0000 |
---|---|---|
committer | Bin Cheng <amker@gcc.gnu.org> | 2014-11-14 02:32:38 +0000 |
commit | b16abbcb8530ab4601873c978c50422960d0faee (patch) | |
tree | 07a10a70a37299c1e153e8716e560040483d0d31 /gcc/timevar.def | |
parent | 0fb3402f691447225a17f83d1ef168eb71a25ce0 (diff) | |
download | gcc-b16abbcb8530ab4601873c978c50422960d0faee.zip gcc-b16abbcb8530ab4601873c978c50422960d0faee.tar.gz gcc-b16abbcb8530ab4601873c978c50422960d0faee.tar.bz2 |
timevar.def (TV_SCHED_FUSION): New time var.
* timevar.def (TV_SCHED_FUSION): New time var.
* passes.def (pass_sched_fusion): New pass.
* config/arm/arm.c (TARGET_SCHED_FUSION_PRIORITY): New.
(extract_base_offset_in_addr, fusion_load_store): New.
(arm_sched_fusion_priority): New.
(arm_option_override): Disable scheduling fusion by default
on non-armv7 processors or ldrd/strd isn't preferred.
* sched-int.h (struct _haifa_insn_data): New field.
(INSN_FUSION_PRIORITY, FUSION_MAX_PRIORITY, sched_fusion): New.
* sched-rgn.c (rest_of_handle_sched_fusion): New.
(pass_data_sched_fusion, pass_sched_fusion): New.
(make_pass_sched_fusion): New.
* haifa-sched.c (sched_fusion): New.
(insn_cost): Handle sched_fusion.
(priority): Handle sched_fusion by calling target hook.
(enum rfs_decision): New enum value.
(rfs_str): New element for RFS_FUSION.
(rank_for_schedule): Support sched_fusion.
(schedule_insn, max_issue, prune_ready_list): Handle sched_fusion.
(schedule_block, fix_tick_ready): Handle sched_fusion.
* common.opt (flag_schedule_fusion): New.
* tree-pass.h (make_pass_sched_fusion): New.
* target.def (fusion_priority): New.
* doc/tm.texi.in (TARGET_SCHED_FUSION_PRIORITY): New.
* doc/tm.texi: Regenerated.
* doc/invoke.texi (-fschedule-fusion): New.
testsuite:
* gcc.target/arm/ldrd-strd-pair-1.c: New test.
* gcc.target/arm/vfp-1.c: Improve scanning string.
From-SVN: r217533
Diffstat (limited to 'gcc/timevar.def')
-rw-r--r-- | gcc/timevar.def | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/timevar.def b/gcc/timevar.def index 95c84ad..5d8d0e7 100644 --- a/gcc/timevar.def +++ b/gcc/timevar.def @@ -247,6 +247,7 @@ DEFTIMEVAR (TV_IFCVT2 , "if-conversion 2") DEFTIMEVAR (TV_COMBINE_STACK_ADJUST , "combine stack adjustments") DEFTIMEVAR (TV_PEEPHOLE2 , "peephole 2") DEFTIMEVAR (TV_RENAME_REGISTERS , "rename registers") +DEFTIMEVAR (TV_SCHED_FUSION , "scheduling fusion") DEFTIMEVAR (TV_CPROP_REGISTERS , "hard reg cprop") DEFTIMEVAR (TV_SCHED2 , "scheduling 2") DEFTIMEVAR (TV_MACH_DEP , "machine dep reorg") |