+2014-10-22 Richard Sandiford <richard.sandiford@arm.com>
+
+ * recog.h (recog_data_d): Remove enabled_alternatives.
+ * recog.c (extract_insn): Don't set it.
+ * reload.c (find_reloads): Call get_enabled_alternatives.
+
2014-10-22 Richard Sandiford <richard.sandiford@arm.com>
* recog.h (constrain_operands): Add an alternative_mask parameter.
gcc_assert (recog_data.n_alternatives <= MAX_RECOG_ALTERNATIVES);
- recog_data.enabled_alternatives = get_enabled_alternatives (insn);
-
recog_data.insn = NULL;
which_alternative = -1;
}
/* True if insn is ASM_OPERANDS. */
bool is_asm;
- /* Specifies whether an insn alternative is enabled using the `enabled'
- attribute in the insn pattern definition. For back ends not using
- the `enabled' attribute the bits are always set to 1 in expand_insn.
- Bits beyond the last alternative are also set to 1. */
- alternative_mask enabled_alternatives;
-
/* In case we are caching, hold insn data was generated for. */
rtx insn;
};
First loop over alternatives. */
+ alternative_mask enabled = get_enabled_alternatives (insn);
for (this_alternative_number = 0;
this_alternative_number < n_alternatives;
this_alternative_number++)
{
int swapped;
- if (!TEST_BIT (recog_data.enabled_alternatives, this_alternative_number))
+ if (!TEST_BIT (enabled, this_alternative_number))
{
int i;