This is the mail archive of the gcc@gcc.gnu.org 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: More of a Loop distribution.


On Thu, Aug 13, 2015 at 9:37 AM, Ajit Kumar Agarwal
<ajit.kumar.agarwal@xilinx.com> wrote:
> All:
>
> 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?

Richard.

> Thanks & Regards
> Ajit


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