[PATCH] D56403: add pragmas to control Software Pipelining optimisation

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 7 11:46:31 PST 2019


alexey.lapshin created this revision.
alexey.lapshin added reviewers: kparzysz, bcahoon, sgundapa.

[PIPELINER] add two pragmas to control Software Pipelining optimisation.

    
  #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


https://reviews.llvm.org/D56403

Files:
  lib/CodeGen/MachinePipeliner.cpp
  test/CodeGen/Hexagon/swp-pragma-disable.ii
  test/CodeGen/Hexagon/swp-pragma-initiation-interval.ii
  test/CodeGen/Hexagon/swp-resmii-1.ll
  test/CodeGen/Hexagon/swp-resmii.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56403.180536.patch
Type: text/x-patch
Size: 11122 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190107/633e1254/attachment.bin>


More information about the llvm-commits mailing list