This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC,PATCH] Still problems with move loop invariant and eh regs (#24762)


Hi,

> If I understand this correctly, then the problem is that although
> dw2_build_landing_pads has inserted a clobber, the registers are not
> actually clobbered.  They actually contain meaningful values which
> were set by the exception handling library routines.
Yes. I agree that CLOBBERs are somewhat misplaced here. But I think this
is a historical grown issue and I'm not sure that this can easily be fixed.
 
> The DF code should record this correctly.  So it seems to me that we
> should not emit the CLOBBERs, and should instead modify flow to also
> record this correctly (temporarily, until we remove flow in favor of
> df).
Sure, in a longterm view that would be the best solution but I'm afraid
that there is a lot of special code in the gcc middle-end expecting these
clobbers for eh regs to be in place to work properly. Without knowing 
exactly where this code is hidden (even a back end could scan for them)
I don't think this can/should be done for the 4.2 release.

> No doubt there are additional complexities, though.
That's exactly what makes me nervous.

Bye,

-Andreas-


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]