rl78.c (rl78_note_reg_set): fixed dead reg check for non-QImode registers
2018-01-12 Sebastian Perta <sebastian.perta@renesas.com> * config/rl78/rl78.c (rl78_note_reg_set): fixed dead reg check for non-QImode registers From-SVN: r256945
This commit is contained in:
parent
6b271a2ec4
commit
049b866d3c
2 changed files with 13 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2018-01-22 Sebastian Perta <sebastian.perta@renesas.com>
|
||||
|
||||
* config/rl78/rl78.c (rl78_note_reg_set): fixed dead reg check
|
||||
for non-QImode registers
|
||||
|
||||
2018-01-22 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/83963
|
||||
|
|
|
@ -3792,16 +3792,21 @@ static void
|
|||
rl78_note_reg_set (char *dead, rtx d, rtx insn)
|
||||
{
|
||||
int r, i;
|
||||
|
||||
bool is_dead;
|
||||
if (GET_CODE (d) == MEM)
|
||||
rl78_note_reg_uses (dead, XEXP (d, 0), insn);
|
||||
|
||||
if (GET_CODE (d) != REG)
|
||||
return;
|
||||
|
||||
/* Do not mark the reg unused unless all QImode parts of it are dead. */
|
||||
r = REGNO (d);
|
||||
if (dead [r])
|
||||
add_reg_note (insn, REG_UNUSED, gen_rtx_REG (GET_MODE (d), r));
|
||||
is_dead = true;
|
||||
for (i = 0; i < GET_MODE_SIZE (GET_MODE (d)); i ++)
|
||||
if (!dead [r + i])
|
||||
is_dead = false;
|
||||
if(is_dead)
|
||||
add_reg_note (insn, REG_UNUSED, gen_rtx_REG (GET_MODE (d), r));
|
||||
if (dump_file)
|
||||
fprintf (dump_file, "note set reg %d size %d\n", r, GET_MODE_SIZE (GET_MODE (d)));
|
||||
for (i = 0; i < GET_MODE_SIZE (GET_MODE (d)); i ++)
|
||||
|
|
Loading…
Add table
Reference in a new issue