HomePhabricator

[Pipeliner] Add two pragmas to control software pipelining optimization

Description

[Pipeliner] Add two pragmas to control software pipelining optimization

#pragma clang loop pipeline(disable)

Disable SWP optimization for the next loop.
“disable” is the only possible value.

#pragma clang loop pipeline_initiation_interval(number)

Set value of initiation interval for SWP
optimization to specified number value for
the next loop. Number is the positive value
greater than 0.

These pragmas could be used for debugging or reducing
compile time purposes. It is possible to disable SWP for
concrete loops to save compilation time or to find bugs
by not doing SWP to certain loops. It is possible to set
value of initiation interval to concrete number to save
compilation time by not doing extra pipeliner passes or
to check created schedule for specific initiation interval.

That is llvm part of the fix

Clang part of fix: https://reviews.llvm.org/D55710

Patch by Alexey Lapshin!

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

Details

Committed
bcahoonJan 22 2019, 7:26 PM
Differential Revision
D56403: add pragmas to control Software Pipelining optimisation
Parents
rL351922: Revert rCTE351921 to fix documentation geneeration.
Branches
Unknown
Tags
Unknown