This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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?
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |