This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: DF_DU_CHAIN | DF_UD_CHAIN flags in new-ra
- From: "Mukta Punjani, Noida" <muktap at noida dot hcltech dot com>
- To: "'Michael Matz'" <matz at suse dot de>
- Cc: "'gcc at gcc dot gnu dot org'" <gcc at gcc dot gnu dot org>
- Date: Tue, 16 Sep 2003 17:36:55 +0530
- Subject: RE: DF_DU_CHAIN | DF_UD_CHAIN flags in new-ra
Hi,
The abort occurring at df_ref_unlink (called from df_use_unlink) due to the
inconsistency in the def-use/use-def chains seems to be a flawed assumption.
Consider the case when
d1 def r161
u11 use r161
u12 use r161
...
d2 def r161
u21 use r161
In this case, use-def chain for r161 will be consisting of {d1,d2}. In case
insn corresponding to u12 is modified, it will try to unlink reference from
both the defs d1 and d2. But in d2, its use reference is not there, which is
perfectly alright but possibly the condition where it is aborting.
So, what can we say regarding this assumption and where all does this
assumption hold while building information in the subsequent passes.
Thanks and Best Regards,
Mukta
>>> BUG_RA.c:25: internal compiler error: in parts_to_webs_1, at
>>ra-build.c:1900
>>
>>So, where is BUG_RA.c then? In the thread above there never was a
>>testcase IIRC.
>
>The BUG_RA.c is actually a gcc testsuite testcase
>(gcc/testsuite/gcc.c-torture/compile/20000105-1.c) that I
>renamed. Sorry for the confusion.
>The above abort also occurs while compiling other gcc
>testcases and stress testsuite files advdomestic.i, advmilitary.i etc.
>(I compiled with : -O2 -ml -m4 -fnew-ra)
>
>Thanks and Best Regards,
>Mukta
>