This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC,PATCH] Still problems with move loop invariant and eh regs (#24762)
- From: Andreas Krebbel <krebbel1 at de dot ibm dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 18 Jul 2006 18:46:45 +0200
- Subject: Re: [RFC,PATCH] Still problems with move loop invariant and eh regs (#24762)
- References: <20060718144216.GA4716@de.ibm.com> <m34pxf54j6.fsf@localhost.localdomain>
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-