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/recog.h | |
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/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 d4fd4fd6934..3328af6850a 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; |