diff options
author | Wei Mi <wmi@google.com> | 2013-11-04 21:41:48 +0000 |
---|---|---|
committer | Wei Mi <wmi@gcc.gnu.org> | 2013-11-04 21:41:48 +0000 |
commit | 0dc41f28bd2aa4f762b89476fe4885f9c67c16c5 (patch) | |
tree | ce5d3012d103754d13987152cc5ea59c12303593 /gcc/doc | |
parent | ef1b3fda32c08e9bd6977b96e1e619aae3e3726a (diff) | |
download | gcc-0dc41f28bd2aa4f762b89476fe4885f9c67c16c5.zip gcc-0dc41f28bd2aa4f762b89476fe4885f9c67c16c5.tar.gz gcc-0dc41f28bd2aa4f762b89476fe4885f9c67c16c5.tar.bz2 |
i386.c (memory_address_length): Extract a part of code to rip_relative_addr_p.
2013-11-04 Wei Mi <wmi@google.com>
* gcc/config/i386/i386.c (memory_address_length): Extract a part
of code to rip_relative_addr_p.
(rip_relative_addr_p): New Function.
(ix86_macro_fusion_p): Ditto.
(ix86_macro_fusion_pair_p): Ditto.
* gcc/config/i386/i386.h: Add new tune features about macro-fusion.
* gcc/config/i386/x86-tune.def (DEF_TUNE): Ditto.
* gcc/doc/tm.texi: Generated.
* gcc/doc/tm.texi.in: Ditto.
* gcc/haifa-sched.c (try_group_insn): New Function.
(group_insns_for_macro_fusion): Ditto.
(sched_init): Call group_insns_for_macro_fusion.
* gcc/target.def: Add two hooks: macro_fusion_p and
macro_fusion_pair_p.
From-SVN: r204369
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/tm.texi | 11 | ||||
-rw-r--r-- | gcc/doc/tm.texi.in | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index fc5e1a5..f5e8d2c 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -6574,6 +6574,17 @@ scheduling one insn causes other insns to become ready in the same cycle. These other insns can then be taken into account properly. @end deftypefn +@deftypefn {Target Hook} bool TARGET_SCHED_MACRO_FUSION_P (void) +This hook is used to check whether target platform supports macro fusion. +@end deftypefn + +@deftypefn {Target Hook} bool TARGET_SCHED_MACRO_FUSION_PAIR_P (rtx @var{condgen}, rtx @var{condjmp}) +This hook is used to check whether two insns could be macro fused for +target microarchitecture. If this hook returns true for the given insn pair +(@var{condgen} and @var{condjmp}), scheduler will put them into a sched +group, and they will not be scheduled apart. +@end deftypefn + @deftypefn {Target Hook} void TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK (rtx @var{head}, rtx @var{tail}) This hook is called after evaluation forward dependencies of insns in chain given by two parameter values (@var{head} and @var{tail} diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index a641f3d..1624f4f 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -4938,6 +4938,10 @@ them: try the first ones in this list first. @hook TARGET_SCHED_REORDER2 +@hook TARGET_SCHED_MACRO_FUSION_P + +@hook TARGET_SCHED_MACRO_FUSION_PAIR_P + @hook TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK @hook TARGET_SCHED_INIT |