summaryrefslogtreecommitdiff
path: root/gcc/lra-int.h
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2017-02-14 22:17:19 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2017-02-14 22:17:19 +0000
commit584898ee80100dcdda3f0eb3cbf151976843055d (patch)
treed081ca334c52567eb71268a947e567756d1732eb /gcc/lra-int.h
parent2932fe90d51b39404bd0b564415b6f5149f10f9b (diff)
re PR target/79282 ([7 Regresion] FAIL: gcc.target/arm/neon-for-64bits-1.c scan-assembler-times vshr 0)
2017-02-14 Vladimir Makarov <vmakarov@redhat.com> PR target/79282 * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add member early_clobber_alts. * lra-lives.c (reg_early_clobber_p): New. (process_bb_lives): Use it. * lra.c (new_insn_reg): New arg early_clobber_alts. Use it. (debug_operand_data): Initialize early_clobber_alts. (setup_operand_alternative): Set up early_clobber_alts. (collect_non_operand_hard_regs): Ditto. Pass early clobber alternatives to new_insn_reg. (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use it. (lra_update_insn_regno_info): Pass the new arg. From-SVN: r245459
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r--gcc/lra-int.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h
index d25d827a5d4..405071708b1 100644
--- a/gcc/lra-int.h
+++ b/gcc/lra-int.h
@@ -130,6 +130,8 @@ struct lra_operand_data
{
/* The machine description constraint string of the operand. */
const char *constraint;
+ /* Alternatives for which early_clobber can be true. */
+ alternative_mask early_clobber_alts;
/* It is taken only from machine description (which is different
from recog_data.operand_mode) and can be of VOIDmode. */
ENUM_BITFIELD(machine_mode) mode : 16;
@@ -150,6 +152,8 @@ struct lra_operand_data
/* Info about register occurrence in an insn. */
struct lra_insn_reg
{
+ /* Alternatives for which early_clobber can be true. */
+ alternative_mask early_clobber_alts;
/* The biggest mode through which the insn refers to the register
occurrence (remember the register can be accessed through a
subreg in the insn). */