diff options
author | Jan Hubicka <jh@suse.cz> | 2000-09-11 23:54:11 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2000-09-11 23:54:11 +0000 |
commit | d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8 (patch) | |
tree | a4a10ad41eb4009a3a451fc4518e9f29cc1010ab /gcc/recog.h | |
parent | 14203c9cac8bfbabc168aee4df38cb752bbed421 (diff) | |
download | gcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.zip gcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.tar.gz gcc-d90ffc8d2c830e45f8e7a17fe66355e7d7865fd8.tar.bz2 |
i386.md (add?i_3, add?i_5): New.
* 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.
From-SVN: r36342
Diffstat (limited to 'gcc/recog.h')
-rw-r--r-- | gcc/recog.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/recog.h b/gcc/recog.h index d4fd4fd..3328af6 100644 --- a/gcc/recog.h +++ b/gcc/recog.h @@ -116,6 +116,8 @@ extern int recog PARAMS ((rtx, rtx, int *)); extern void add_clobbers PARAMS ((rtx, int)); extern void insn_extract PARAMS ((rtx)); extern void extract_insn PARAMS ((rtx)); +extern void extract_constrain_insn_cached PARAMS ((rtx)); +extern void extract_insn_cached PARAMS ((rtx)); extern void preprocess_constraints PARAMS ((void)); extern rtx peep2_next_insn PARAMS ((int)); extern int peep2_regno_dead_p PARAMS ((int, int)); @@ -186,6 +188,9 @@ struct recog_data /* The number of alternatives in the constraints for the insn. */ char n_alternatives; + + /* In case we are caching, hold insn data was generated for. */ + rtx insn; }; extern struct recog_data recog_data; |