summaryrefslogtreecommitdiff
path: root/gcc/recog.h
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-16 09:32:21 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-16 09:32:21 +0000
commita67a82efd8563e4ccf9d8a9416fa663b67fe3b57 (patch)
treee2e650590b499c11d4614b72675674b86849b851 /gcc/recog.h
parent6f9688ce13fbcb6e20676cf821b3824f8d052a0b (diff)
downloadgcc-a67a82efd8563e4ccf9d8a9416fa663b67fe3b57.tar.gz
* recog.h (struct recog_data): New field is_operator.
(struct insn_operand_data): New field is_operator. * recog.c (extract_insn): Set recog_data.is_operator. * genoutput.c (output_operand_data): Emit code to set the is_operator field. * reload.c (find_reloads): Use it rather than testing for an empty constraint string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.h')
-rw-r--r--gcc/recog.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/recog.h b/gcc/recog.h
index 3354a66496a..3daac6225c2 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -194,6 +194,9 @@ struct recog_data
/* Gives the constraint string for operand N. */
const char *constraints[MAX_RECOG_OPERANDS];
+ /* Nonzero if operand N is a match_operator or a match_parallel. */
+ char is_operator[MAX_RECOG_OPERANDS];
+
/* Gives the mode of operand N. */
enum machine_mode operand_mode[MAX_RECOG_OPERANDS];
@@ -260,6 +263,8 @@ struct insn_operand_data
const char strict_low;
+ const char is_operator;
+
const char eliminable;
};