This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A question about df
- From: Revital1 Eres <ERES at il dot ibm dot com>
- To: "Seongbae Park (박성배, 朴成培)" <seongbae dot park at gmail dot com>
- Cc: Ayal Zaks <ZAKS at il dot ibm dot com>, gcc at gcc dot gnu dot org, zadeck at naturalbridge dot com
- Date: Wed, 24 Oct 2007 23:07:23 +0200
- Subject: Re: A question about df
> > The problem arises when we delete an insn from the df that contains a
> > use but do not update the def-use chain of it's def as we do not have
> > the use-def chain to reach it's def, This later causes a problem when
> > we try to dump the def-use chain of it's def.
>
> I'm sorry but I don't understand the description of the problem.
> What do you mean by "dump" and what problem does this "dump" cause ?
By dump I mean printing the function including all the DU chain info
(in TODO_dump_func at the end of the pass). This causes a problem in
our case becuase an insn with a use was deleted (in df_insn_delete)
without unlinking it from the def-use chain of it's def (because we
can not access the def using a use-def chain - we do not build it).
Once we want to print the def's def-use chain we get an ICE. Hope this
explains the problem better.
> > So, it seems that when asking for only def-use problem and later dump
> > the function we should ask for use-def problem as well to avoid cases
> > like the above.
>
> The df chain dump routines are supposed to handle DU-only or UD-only
cases
> properly. If that's not the case, please send us a testcase
> (and preferably file a bugzilla report). Thanks,
Zadeck actually replied to this email and from his answer it seems that
this is not really a bug as def-use chains are not enough in this case.
I can add a testcase anyway.
Thanks,
Revital