This is the mail archive of the
mailing list for the GCC project.
Re: post-reload register copy-propagation
- From: "Ulrich Weigand" <Ulrich dot Weigand at de dot ibm dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 14 Dec 2001 23:35:31 +0100
- Subject: Re: post-reload register copy-propagation
Richard Henderson wrote:
>On Thu, Dec 13, 2001 at 10:21:49PM +0100, Ulrich Weigand wrote:
>> Shouldn't this care about multi-word regs?
>Arg, yes. All my tests were on targets that split all multi-word
>stuff after reload, so there weren't any anymore.
Your latest version fixed my multi-word test case, thanks.
However, there appears to be another problem with this code: when
using Dwarf2 exception handling, the exception 'landing pad' emits
clobber insns for the 'magic' EH_RETURN_DATA_REGNO registers,
because they will be modified by the exception handling library
However, these clobbers are removed by reload (reload removes all
clobber insns that refer to any register but the return value
Thus, the subsequent copy-propagation pass doesn't know that the
eh registers are clobbered and incorrectly reuses one of them
inside the catch block to refer to a value from the main routine;
this causes another test case failure ...
Mit freundlichen Gruessen / Best Regards
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com