diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2017-02-14 22:17:19 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2017-02-14 22:17:19 +0000 |
commit | 584898ee80100dcdda3f0eb3cbf151976843055d (patch) | |
tree | d081ca334c52567eb71268a947e567756d1732eb /gcc/lra-int.h | |
parent | 2932fe90d51b39404bd0b564415b6f5149f10f9b (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.h | 4 |
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). */ |