This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PING][PATCH] [modulo-sched] Change the ddg's construction
- From: Ayal Zaks <ZAKS at il dot ibm dot com>
- To: Revital1 Eres <ERES at il dot ibm dot com>
- Cc: abel at ispras dot ru, gcc-patches at gcc dot gnu dot org, Kenneth dot Zadeck at NaturalBridge dot com, volodyan at gmail dot com
- Date: Mon, 30 Jul 2007 23:32:04 +0300
- Subject: Re: [PING][PATCH] [modulo-sched] Change the ddg's construction
Revital1 Eres/Haifa/IBM wrote on 30/07/2007 22:13:53:
>
> > Kenny, thanks for the quick approval. Any follow-up changes needed for
df,
> > now that df_ru_add_problem() is left without a caller?
> >
> > Revital, this is ok with me too, with some minor comments below.
> >
> > Ayal.
>
> Thanks for the comments. Regarding the following -
>
> > > - /* Find inter-loop anti deps. We are interested in uses of the
block
> > that
> > > - appear below all defs; this implies that these uses are killed.
*/
> > > - EXECUTE_IF_SET_IN_BITMAP (ru_bb_info->kill, 0, u_num, bi)
> > > - {
> > > - struct df_ref *use = DF_USES_GET (u_num);
> > > - if (!(DF_REF_FLAGS (use) & DF_REF_IN_NOTE))
> >
> > Please comment why we no longer check and exclude such uses.
> I'll address this in a separate patch which means we currently do not
> exclude uses that appears inside a REG_EQUAL or REG_EQUIV note; I've
> added ??? mark to revisit this issue later on.
>
> Attached is the patch including the comments.
>
> OK to mainline?
>
OK.
Instead of checking
> + if (INSN_UID (first_def->insn) != INSN_UID (last_def->insn))
for anti-deps you could simply check
> + if (last_def->id == first_def->id)
as done for output-deps.
Ayal.
> Thanks,
> Revital
> 2007-07-30 Revital Eres <eres@il.ibm.com>
>
> * ddg.c (add_deps_for_def): Rename to...
> (add_cross_iteration_register_deps): This. Change implementation
> to use only reaching def and def-use chains to construct the
> inter loop dependencies.
> (add_deps_for_use): Remove function.
> (build_inter_loop_deps): Call add_cross_iteration_register_deps
> function to build the inter loop dependencies.
> * modulo-sched.c (sms_schedule): Build only
> reaching def and def-use chains for the propose of the ddg
> construction.
>
> [attachment "patch_ddg_30.txt" deleted by Ayal Zaks/Haifa/IBM]