diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-11 23:54:11 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-11 23:54:11 +0000 |
commit | 0edc2b1cc887e4e3e9cdd3d45512e553d0ed4d84 (patch) | |
tree | a4a10ad41eb4009a3a451fc4518e9f29cc1010ab /gcc/genrecog.c | |
parent | c6322c9a3ef07e3a3073e64c3edc4990419b346f (diff) | |
download | gcc-0edc2b1cc887e4e3e9cdd3d45512e553d0ed4d84.tar.gz |
* i386.md (add?i_3, add?i_5): New.
(add?i_4): Rename from add?i_3; Fix compare pattern.
(sub?i_3, xor?i_3, ior?i_3): New.
* genrecog.c (write_tree): Output code to clear insn_extract cache.
* genattrtab.c (write_attr_case): Gen call to extract_insn_cache
instead of extract_insn and extract_constrain_insn_cache instead of
extract_insn and constrain_operands.
* recog.c (extract_insn_cached, extract_constrain_insn_cached):
New functions.
(extract_insn): Clear which_alternative.
(constrain_operands): Set which_alternative to -1 when failed.
* recog.h (extract_constrain_insn_cached, extract_insn_cached):
Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36342 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r-- | gcc/genrecog.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c index e506f8d85b6..b512181e10d 100644 --- a/gcc/genrecog.c +++ b/gcc/genrecog.c @@ -2189,6 +2189,9 @@ peephole2%s (x0, insn, _pmatch_len)\n\ printf (" %s tem ATTRIBUTE_UNUSED;\n", IS_SPLIT (type) ? "rtx" : "int"); + if (!subfunction) + printf (" recog_data.insn = NULL_RTX;\n"); + if (head->first) write_tree (head, "", type, 1); else |