On 03/23/2011 10:22 AM, Bernd Schmidt wrote: > On 03/23/2011 06:19 PM, Richard Henderson wrote: >> body >> body >> restore r1 XXX >> restore r2 XXX >> jmp L2 XXX >> >> L1: body YYY >> body YYY >> restore r2 >> >> L2: restore r3 >> return > >> In general, with shrink-wrapping, we can have essentially arbitrary >> differences in unwind info between blocks that are sequential. > > I don't think this can actually happen with the current implementation. > There is only one prologue, and all epilogues (the normal one and the > sibcall epilogues) match it exactly. I don't believe we can generate > code as in the example above, both before and after my patch.
Um.. then what's this "allow jumps in epilogues" thing of which you speak? If there's a jump, then it goes somewhere, and branches over something. I see no constraints on what that something might be. Could you give an example of a transformation that is allowed by this? r~