This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 4/5] Remove recog_data.enabled_alternatives
- From: Richard Sandiford <richard dot sandiford at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: vmakarov at redhat dot com, ubizjak at gmail dot com, markus at trippelsdorf dot de, Ganesh dot Gopalasubramanian at amd dot com
- Date: Fri, 17 Oct 2014 15:52:39 +0100
- Subject: [PATCH 4/5] Remove recog_data.enabled_alternatives
- Authentication-results: sourceware.org; auth=none
- References: <87bnpabvvx dot fsf at e105548-lin dot cambridge dot arm dot com>
After the previous patches, this one gets rid of
recog_data.enabled_alternatives and its one remaining use.
Richard
gcc/
* recog.h (recog_data_d): Remove enabled_alternatives.
* recog.c (extract_insn): Don't set it.
* reload.c (find_reloads): Call get_enabled_alternatives.
Index: gcc/recog.h
===================================================================
--- gcc/recog.h 2014-10-17 15:50:02.627695847 +0100
+++ gcc/recog.h 2014-10-17 15:51:59.662308095 +0100
@@ -250,12 +250,6 @@ struct recog_data_d
/* 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;
};
Index: gcc/recog.c
===================================================================
--- gcc/recog.c 2014-10-17 15:50:02.627695847 +0100
+++ gcc/recog.c 2014-10-17 15:51:59.662308095 +0100
@@ -2339,8 +2339,6 @@ extract_insn (rtx_insn *insn)
gcc_assert (recog_data.n_alternatives <= MAX_RECOG_ALTERNATIVES);
- recog_data.enabled_alternatives = get_enabled_alternatives (insn);
-
recog_data.insn = NULL;
which_alternative = -1;
}
Index: gcc/reload.c
===================================================================
--- gcc/reload.c 2014-10-17 15:50:02.627695847 +0100
+++ gcc/reload.c 2014-10-17 15:51:59.666308048 +0100
@@ -2997,13 +2997,14 @@ find_reloads (rtx_insn *insn, int replac
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;