------- Additional Comments From ebotcazou at gcc dot gnu dot org  2004-11-16 
08:21 -------
And 5 minutes of additional work would have been sufficient to spot the obvious
culprit:

2003-05-14  Eric Christopher  <[EMAIL PROTECTED]>

        * combine.c: Fix header comments.
        (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
        to all calls and prototype.

containing most notably:

@@ -12550,19 +12530,14 @@ reg_bitfield_target_p (x, body)
    as appropriate.  I3 and I2 are the insns resulting from the combination
    insns including FROM (I2 may be zero).
 
-   ELIM_I2 and ELIM_I1 are either zero or registers that we know will
-   not need REG_DEAD notes because they are being substituted for.  This
-   saves searching in the most common cases.
-
    Each note in the list is either ignored or placed on some insns, depending
    on the type of note.  */

Reverting it makes the quadratic behaviour vanish on mainline.

It was backported between 3.3.2 and 3.3.3 by:

2003-12-16  Zack Weinberg  <[EMAIL PROTECTED]>

        Backport the following patches from mainline.
        [...]

    2003-05-14  Eric Christopher  <[EMAIL PROTECTED]>

        * combine.c: Fix header comments.
        (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
        to all calls and prototype.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|3.2.3 3.3                   |3.2.3 3.3 3.3.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13931

Reply via email to