This is the mail archive of the
mailing list for the GCC project.
Re: More of a Loop distribution.
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Ajit Kumar Agarwal <ajit dot kumar dot agarwal at xilinx dot com>
- Cc: Jeff Law <law at redhat dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Vinod Kathail <vinodk at xilinx dot com>, Shail Aditya Gupta <shailadi at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, Nagaraju Mekala <nmekala at xilinx dot com>
- Date: Thu, 13 Aug 2015 11:53:22 +0200
- Subject: Re: More of a Loop distribution.
- Authentication-results: sourceware.org; auth=none
- References: <37378DC5BCD0EE48BA4B082E0B55DFAA42959F07 at XAP-PVEXMBX02 dot xlnx dot xilinx dot com>
On Thu, Aug 13, 2015 at 9:37 AM, Ajit Kumar Agarwal
> Loop distribution considers DDG to decide on distributing the Loops. The Loops with control statements like IF-THEN-ELSE can also be
> Distributed. Instead of Data Dependency Graph, the Control Dependence Graph should be considered in order to distribute the loops
> In presence of control Statements.
> Also the presence of multiple exits in the Loop can also be considered for Loop distribution transformation.
> Thus the above transformation helps in the Libquantum benchmarks for SPEC 2006.
> There are following articles that looks interesting to me.
> "Loop Distribution in presence of arbitrarily control flow Ken Kennedy et.al."
> "Loop Distribution in presence of Multiple Exits Bor-Ming Hsieh etal."
> I don't think the loop distribution in presence of control flow is implemented in GCC/LLVM.
> I think it is feasible to consider the above for the implementation in GCC.
It's true that loop distribution does not try to distribute based on
any control structure heuristics
but it only considers data locality. It does however already compute
the control dependence graph
(and uses it to add control edges to the DDG to properly add data
dependence edges to uses of
control statements necessary in partitions).
So it should be a matter of specifying the proper set of starting
statements it tries separating.
Not sure which kind of distribution you are after, can you give an example?
> Thanks & Regards