This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Confusing code in regrename.c


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]