diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2013-10-26 17:02:49 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-10-26 17:02:49 +0000 |
commit | a6f623d4fa81226585671aeaff269ab97e0ded64 (patch) | |
tree | d3493474b5c4111edf0a8c0dfd4a186a498fd359 /gcc/lra-spills.c | |
parent | 9f0d9611e7e420aa97837774053b0c8a11d0bfd7 (diff) | |
download | gcc-a6f623d4fa81226585671aeaff269ab97e0ded64.tar.gz |
revert: lra-spills.c (lra_final_code_change): Remove useless move insns.
2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
Revert:
2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
* lra-spills.c (lra_final_code_change): Remove useless move insns.
From-SVN: r204094
Diffstat (limited to 'gcc/lra-spills.c')
-rw-r--r-- | gcc/lra-spills.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/gcc/lra-spills.c b/gcc/lra-spills.c index 73a90a836da..7c0c630273d 100644 --- a/gcc/lra-spills.c +++ b/gcc/lra-spills.c @@ -625,7 +625,7 @@ lra_final_code_change (void) { int i, hard_regno; basic_block bb; - rtx insn, curr, set; + rtx insn, curr; int max_regno = max_reg_num (); for (i = FIRST_PSEUDO_REGISTER; i < max_regno; i++) @@ -661,19 +661,5 @@ lra_final_code_change (void) } if (insn_change_p) lra_update_operator_dups (id); - - if ((set = single_set (insn)) != NULL - && REG_P (SET_SRC (set)) && REG_P (SET_DEST (set)) - && REGNO (SET_SRC (set)) == REGNO (SET_DEST (set))) - { - /* Remove an useless move insn. IRA can generate move - insns involving pseudos. It is better remove them - earlier to speed up compiler a bit. It is also - better to do it here as they might not pass final RTL - check in LRA, (e.g. insn moving a control register - into itself). */ - lra_invalidate_insn_data (insn); - delete_insn (insn); - } } } |