------- 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