HomePhabricator

[Pipeliner] copyToPhi DAG Mutation to improve scheduling.

Description

[Pipeliner] copyToPhi DAG Mutation to improve scheduling.

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.

Differential Revision: https://reviews.llvm.org/D53303

Details

Committed
sgundapaOct 18 2018, 8:51 AM
Differential Revision
D53303: [Pipeliner] copyToPhi DAG Mutation to improve scheduling.
Parents
rL344747: [PPC64] Fix offset checks on rel24 call relocations.
Branches
Unknown
Tags
Unknown