Commit f571b63f by Richard Sandiford Committed by Richard Sandiford

ira.c (commutative_operand): Adjust for change to recog_data.

gcc/
	* ira.c (commutative_operand): Adjust for change to recog_data.
	[Missing from previous commit.]

From-SVN: r210965
parent 4cc8d9d2
2014-05-27 Richard Sandiford <rdsandiford@googlemail.com> 2014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
* ira.c (commutative_operand): Adjust for change to recog_data.
[Missing from previous commit.]
2014-05-27 Richard Sandiford <rdsandiford@googlemail.com>
* system.h (TEST_BIT): New macro. * system.h (TEST_BIT): New macro.
* recog.h (alternative_mask): New type. * recog.h (alternative_mask): New type.
(ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros. (ALL_ALTERNATIVES, ALTERNATIVE_BIT): New macros.
......
...@@ -1774,23 +1774,20 @@ setup_prohibited_mode_move_regs (void) ...@@ -1774,23 +1774,20 @@ setup_prohibited_mode_move_regs (void)
static bool static bool
commutative_constraint_p (const char *str) commutative_constraint_p (const char *str)
{ {
int curr_alt, c; int c;
bool ignore_p;
for (ignore_p = false, curr_alt = 0;;) alternative_mask enabled = recog_data.enabled_alternatives;
for (;;)
{ {
c = *str; c = *str;
if (c == '\0') if (c == '\0')
break; break;
str += CONSTRAINT_LEN (c, str); str += CONSTRAINT_LEN (c, str);
if (c == '#' || !recog_data.alternative_enabled_p[curr_alt]) if (c == '#')
ignore_p = true; enabled &= ~ALTERNATIVE_BIT (0);
else if (c == ',') else if (c == ',')
{ enabled >>= 1;
curr_alt++; else if (enabled & 1)
ignore_p = false;
}
else if (! ignore_p)
{ {
/* Usually `%' is the first constraint character but the /* Usually `%' is the first constraint character but the
documentation does not require this. */ documentation does not require this. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment