mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-13 22:11:47 +08:00
rtlanal: Remove noop_move_p REG_EQUAL condition
noop_move_p currently keeps any instruction that has a REG_EQUAL note, on the basis that the equality might be useful in future. But this creates a perverse incentive not to add potentially-useful REG_EQUAL notes, in case they prevent an instruction from later being removed as dead. The condition originates from flow.c:life_analysis_1 and predates the changes tracked by the current repository (1992). It probably made sense when most optimisations were done on RTL rather than FE trees, but it seems counterproductive now. gcc/ * rtlanal.c (noop_move_p): Don't check for REG_EQUAL notes.
This commit is contained in:
parent
da40a69c9e
commit
6ad972ece1
@ -1668,10 +1668,6 @@ noop_move_p (const rtx_insn *insn)
|
||||
if (INSN_CODE (insn) == NOOP_MOVE_INSN_CODE)
|
||||
return 1;
|
||||
|
||||
/* Insns carrying these notes are useful later on. */
|
||||
if (find_reg_note (insn, REG_EQUAL, NULL_RTX))
|
||||
return 0;
|
||||
|
||||
/* Check the code to be executed for COND_EXEC. */
|
||||
if (GET_CODE (pat) == COND_EXEC)
|
||||
pat = COND_EXEC_CODE (pat);
|
||||
|
Loading…
x
Reference in New Issue
Block a user