This is the mail archive of the 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]

RE: DF_DU_CHAIN | DF_UD_CHAIN flags in new-ra


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,

>>> BUG_RA.c:25: internal compiler error: in parts_to_webs_1, at 
>>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,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]