This is the mail archive of the
mailing list for the GCC project.
Re: RFA: patch for usage of more accurate live information for theglobaland the reload.
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Ulrich Weigand <weigand at i1 dot informatik dot uni-erlangen dot de>
- Cc: rth at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 09 Jun 2004 13:57:28 -0400
- Subject: Re: RFA: patch for usage of more accurate live information for theglobaland the reload.
- References: <200406091718.TAA01781@faui1d.informatik.uni-erlangen.de>
Ulrich Weigand wrote:
Ulrich, thanks for the detail analysis of the bug. You are right. Even
if the test is bizarre, the compiler should not crash. There are two
places where it could be fixed in global.c and reload1.c. I think it
is better to fix it in global.c. I'll try to make a patch for this
(generate the same live infromation for the case as earlier) on this
week. Then I'll send the patch for you (I have no access to s390). If
it fixes the problem, I'll submit the patch.
However, in this particular test case reg 44 happens to be
uninitialized. Therefore, make_accurate_live_analysis removes
it from bb->global_live_at_start and it subsequently doesn't
make it into chain->live_throughout ...
Now of course using an uninitialized variable invokes undefined
behaviour, but I'm not convinced an ICE is the proper reaction ...
Any ideas how to fix this?