diff options
author | Bernd Schmidt <bernd.schmidt@codesourcery.com> | 2010-04-16 09:32:21 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2010-04-16 09:32:21 +0000 |
commit | 6ddfdb0f7e310a026479c484e32d020b1cbeedf8 (patch) | |
tree | e2e650590b499c11d4614b72675674b86849b851 /gcc/recog.c | |
parent | 5312b0660e6f24145896e84382d184c16c884bf1 (diff) | |
download | gcc-6ddfdb0f7e310a026479c484e32d020b1cbeedf8.zip gcc-6ddfdb0f7e310a026479c484e32d020b1cbeedf8.tar.gz gcc-6ddfdb0f7e310a026479c484e32d020b1cbeedf8.tar.bz2 |
recog.h (struct recog_data): New field is_operator.
* 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.
From-SVN: r158403
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 254e83a..0dea35f 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -2082,6 +2082,7 @@ extract_insn (rtx insn) recog_data.operand_loc, recog_data.constraints, recog_data.operand_mode, NULL); + memset (recog_data.is_operator, 0, sizeof recog_data.is_operator); if (noperands > 0) { const char *p = recog_data.constraints[0]; @@ -2111,6 +2112,7 @@ extract_insn (rtx insn) for (i = 0; i < noperands; i++) { recog_data.constraints[i] = insn_data[icode].operand[i].constraint; + recog_data.is_operator[i] = insn_data[icode].operand[i].is_operator; recog_data.operand_mode[i] = insn_data[icode].operand[i].mode; /* VOIDmode match_operands gets mode from their real operand. */ if (recog_data.operand_mode[i] == VOIDmode) |