[PATCH] D53303: [Pipeliner] copyToPhi DAG Mutation to improve scheduling.

Sumanth Gundapaneni via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 15 15:50:51 PDT 2018


sgundapa created this revision.
sgundapa added a reviewer: bcahoon.
Herald added a subscriber: llvm-commits.

In a loop, create artificial dependences between the source of a
COPY/REG_SEQUENCE to the use in next iteration.

Eg:
SRC ----Data Dep--> COPY
COPY ---Anti Dep--> PHI  (implies, to be used in next iteration)
PHI ----Data Dep--> USE

This patches creates
USE ----Artificial Dep---> SRC

This will effectively schedule the COPY late to eliminate additional copies.
Before this patch, the schedule can be
SRC, COPY, USE  : The COPY is used in next iteration and it needs to be
preserved.

After this patch, the schedule can be
USE, SRC, COPY : The COPY is used in next iteration and the live interval is
reduced.


Repository:
  rL LLVM

https://reviews.llvm.org/D53303

Files:
  lib/CodeGen/MachinePipeliner.cpp
  test/CodeGen/Hexagon/swp-copytophi-dag.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53303.169764.patch
Type: text/x-patch
Size: 9410 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181015/1134e427/attachment.bin>


More information about the llvm-commits mailing list