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