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

Alexey Lapshin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Dec 14 09:41:39 PST 2018


alexey.lapshin created this revision.
alexey.lapshin added reviewers: bcahoon, kparzysz, aaron.ballman, arphaman, rsmith, marksl, yakush.
Herald added a subscriber: zzheng.

  [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_ii_count(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 clang part of the fix


https://reviews.llvm.org/D55710

Files:
  include/clang/Basic/Attr.td
  include/clang/Basic/AttrDocs.td
  include/clang/Basic/DiagnosticParseKinds.td
  lib/CodeGen/CGLoopInfo.cpp
  lib/CodeGen/CGLoopInfo.h
  lib/Parse/ParsePragma.cpp
  lib/Sema/SemaStmtAttr.cpp
  test/CodeGenCXX/pragma-pipeline.cpp
  test/Parser/pragma-loop.cpp
  test/Parser/pragma-pipeline.cpp
  test/Parser/pragma-unroll-and-jam.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55710.178239.patch
Type: text/x-patch
Size: 22957 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20181214/5bdf2e02/attachment-0001.bin>


More information about the cfe-commits mailing list