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