aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/md.texi
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2011-08-11 08:25:41 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2011-08-11 08:25:41 +0000
commitf9bf5a8e96ec9c6f04877a0c4922201d80b80a6e (patch)
treefcc79dff36759b0668e8d8f0629a52b95e1330eb /gcc/doc/md.texi
parent7ece388150bbbfb0c946b28efa43ad1eeb2f0bf8 (diff)
downloadgcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.zip
gcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.tar.gz
gcc-f9bf5a8e96ec9c6f04877a0c4922201d80b80a6e.tar.bz2
md.texi (define_bypass): Say that the instruction names can be filename-style globs.
gcc/ * doc/md.texi (define_bypass): Say that the instruction names can be filename-style globs. * Makefile.in (FNMATCH_H): Define. (build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H). * genattrtab.c: Include fnmatch.h. (bypass_list): Change field name from "insn" to "pattern". (gen_bypass_1): Update accordingly. (process_bypasses): Use fnmatch to check for matches between insn reservations and define_bypasses. * genautomata.c: Include fnmatch.h. (bypass_decl): Rename in_insn_name and out_insn_name to in_pattern and out_pattern respectively. (gen_bypass, insert_bypass): Update accordingly. (for_each_matching_insn, process_bypass_2, process_bypass_1) (process_bypass): New functions. (process_decls): Use process_bypass. Update after field name changes. From-SVN: r177649
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r--gcc/doc/md.texi12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index 3eae212..49dfda9 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -7783,8 +7783,16 @@ latency time for given instruction pair. This is so called bypasses.
@var{number} defines when the result generated by the instructions
given in string @var{out_insn_names} will be ready for the
-instructions given in string @var{in_insn_names}. The instructions in
-the string are separated by commas.
+instructions given in string @var{in_insn_names}. Each of these
+strings is a comma-separated list of filename-style globs and
+they refer to the names of @code{define_insn_reservation}s.
+For example:
+@smallexample
+(define_bypass 1 "cpu1_load_*, cpu1_store_*" "cpu1_load_*")
+@end smallexample
+defines a bypass between instructions that start with
+@samp{cpu1_load_} or @samp{cpu1_store_} and those that start with
+@samp{cpu1_load_}.
@var{guard} is an optional string giving the name of a C function which
defines an additional guard for the bypass. The function will get the