2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-02-13 17:00:26 +08:00

recog.c (preprocess_constraints): Only zero those elements of recog_op_alt that are needed for this insn.

* recog.c (preprocess_constraints): Only zero those elements of
recog_op_alt that are needed for this insn.
* arm.c (note_invalid_constants): A function can't contain invalid
constants if it has no constraints.

From-SVN: r73855
This commit is contained in:
Richard Earnshaw 2003-11-23 16:10:52 +00:00 committed by Richard Earnshaw
parent bf058d221e
commit 8c2a5582fb
3 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2003-11-23 Richard Earnshaw <rearnsha@arm.com>
* recog.c (preprocess_constraints): Only zero those elements of
recog_op_alt that are needed for this insn.
* arm.c (note_invalid_constants): A function can't contain invalid
constants if it has no constraints.
2003-11-22 Jan Hubicka <jh@suse.cz>
* i386.c (classify_argument): Pass __float128 in memory.

View File

@ -6908,6 +6908,9 @@ note_invalid_constants (rtx insn, HOST_WIDE_INT address, int do_pushes)
if (!constrain_operands (1))
fatal_insn_not_found (insn);
if (recog_data.n_alternatives == 0)
return false;
/* Fill in recog_op_alt with information about the constraints of this insn. */
preprocess_constraints ();

View File

@ -2093,7 +2093,10 @@ preprocess_constraints (void)
{
int i;
memset (recog_op_alt, 0, sizeof recog_op_alt);
for (i = 0; i < recog_data.n_operands; i++)
memset (recog_op_alt[i], 0, (recog_data.n_alternatives
* sizeof (struct operand_alternative)));
for (i = 0; i < recog_data.n_operands; i++)
{
int j;