post-reload register copy-propagation
Ulrich Weigand
Ulrich.Weigand@de.ibm.com
Fri Dec 14 14:36:00 GMT 2001
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
routines.
However, these clobbers are removed by reload (reload removes all
clobber insns that refer to any register but the return value
register).
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
Ulrich Weigand
--
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
More information about the Gcc-patches
mailing list