On 22 January 2012 10:53, Eric Botcazou <ebotca...@adacore.com> wrote:
>> The un-combining thing around line 2800 is somewhat of a kludge and I
>> wouldn't be surprised if there were other fallouts.  But your change is
>> clearly correct and looks relatively safe, so OK for trunk and 4.6 branch
>> after full testing.
>
> I overlooked something though: it might be possible for combine_instructions 
> to
> try to combine i2 again if the previous combination fails (if it succeeds, i1
> is deleted so this is OK) so the stall LOG_LINKS could be problematic.  That's
> why LOG_LINKS (i2) needs to SUBST-ituted like the two lines just above

Do you mean something like this instead ? I'm testing this - Ok if no
regressions ?

Ramana


=== modified file 'gcc/combine.c'
--- gcc/combine.c       2012-01-11 22:59:12 +0000
+++ gcc/combine.c       2012-01-23 08:50:14 +0000
@@ -2865,6 +2865,7 @@
          SUBST (PATTERN (i2), XVECEXP (PATTERN (i2), 0, 0));
          SUBST (XEXP (SET_SRC (PATTERN (i2)), 0),
                 SET_DEST (PATTERN (i1)));
+         SUBST (LOG_LINKS (i2), alloc_insn_link (i1, LOG_LINKS (i2)));
        }
     }
 #endif



.
>
> --
> Eric Botcazou

Reply via email to