aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2014-10-22 12:02:39 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-10-22 12:02:39 +0000
commit795693c185eddff2b83be4b194da5e016f0717b0 (patch)
treeb7cd2ba7a91faabe34b29f9c0625cefcfece59a2
parentdaca1a96afae35e1a2f39b91f014c2f414f70c5f (diff)
downloadgcc-795693c185eddff2b83be4b194da5e016f0717b0.zip
gcc-795693c185eddff2b83be4b194da5e016f0717b0.tar.gz
gcc-795693c185eddff2b83be4b194da5e016f0717b0.tar.bz2
recog.h (recog_data_d): Remove enabled_alternatives.
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. From-SVN: r216556
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/recog.c2
-rw-r--r--gcc/recog.h6
-rw-r--r--gcc/reload.c3
4 files changed, 8 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 107afee..6b23954 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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.
(constrain_operands_cached): Likewise.
(get_preferred_alternatives): Declare new form.
diff --git a/gcc/recog.c b/gcc/recog.c
index 5be01cc..1a17510 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -2344,8 +2344,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;
}
diff --git a/gcc/recog.h b/gcc/recog.h
index c91f661..0802640 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -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;
};
diff --git a/gcc/reload.c b/gcc/reload.c
index b8da67d..5f560a9 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3002,13 +3002,14 @@ find_reloads (rtx_insn *insn, int replace, int ind_levels, int live_known,
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;