Hi,

You added some code to regrename in revision 1.28 for which I don't
understand the need:

1.26          rth       1595:       /* For each earlyclobber operand, zap the 
value data.  */
                        1596:       for (i = 0; i < n_ops; i++)
                        1597:        if (recog_op_alt[i][alt].earlyclobber)
                        1598:          kill_value (recog_data.operand[i], vd);
                        1599: 
                        1600:       /* Within asms, a clobber cannot overlap 
inputs or outputs.
                        1601:         I wouldn't think this were true for 
regular insns, but
                        1602:         scan_rtx treats them like that...  */
                        1603:       note_stores (PATTERN (insn), 
kill_clobbered_value, vd);
                        1604: 
                        1605:       /* Kill all auto-incremented values.  */
                        1606:       /* ??? REG_INC is useless, since stack 
pushes aren't done that way.  */
                        1607:       for_each_rtx (&PATTERN (insn), 
kill_autoinc_value, vd);
1.28          rth       1608: 
                        1609:       /* Kill all early-clobbered operands.  */
                        1610:       for (i = 0; i < n_ops; i++)
                        1611:        if (recog_op_alt[i][alt].earlyclobber)
                        1612:          kill_value (recog_data.operand[i], vd);

The stuff added in 1.28 (lines 1608-1612) to kill early-clobbered
operands is precisely the same as what is done just a few lines
earlier (lines 1595-1598).  Is this a thinko or is this necessary for
some non-obvious reason??

Gr.
Steven

Reply via email to