From 30dc1902a777966dc1d1dad0fb5f19b7a960e5ca Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Mon, 6 Aug 2018 09:51:01 +0000 Subject: lra support for clobber_high gcc/ * lra-eliminations.c (lra_eliminate_regs_1): Check for clobber high. (mark_not_eliminable): Likewise. * lra-int.h (struct lra_insn_reg): Add clobber high marker. * lra-lives.c (process_bb_lives): Check for clobber high. * lra.c (new_insn_reg): Remember clobber highs. (collect_non_operand_hard_regs): Check for clobber high. (lra_set_insn_recog_data): Likewise. (add_regs_to_insn_regno_info): Likewise. (lra_update_insn_regno_info): Likewise. From-SVN: r263329 --- gcc/lra-int.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/lra-int.h') diff --git a/gcc/lra-int.h b/gcc/lra-int.h index 86e103b7480..5267b53c5e3 100644 --- a/gcc/lra-int.h +++ b/gcc/lra-int.h @@ -168,6 +168,8 @@ struct lra_insn_reg /* True if there is an early clobber alternative for this operand. */ unsigned int early_clobber : 1; + /* True if the reg is clobber highed by the operand. */ + unsigned int clobber_high : 1; /* The corresponding regno of the register. */ int regno; /* Next reg info of the same insn. */ -- cgit v1.2.3