[PATCH] D69391: Add #pragma clang loop ivdep

Yashas Andaluri via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 24 09:34:45 PDT 2019


YashasAndaluri created this revision.
YashasAndaluri added reviewers: hfinkel, Meinersbur, rscottmanley, DTharun.
YashasAndaluri created this object with edit policy "Administrators".
YashasAndaluri added a project: clang.
Herald added subscribers: cfe-commits, zzheng.
YashasAndaluri edited the summary of this revision.
YashasAndaluri edited the summary of this revision.
YashasAndaluri edited the summary of this revision.
YashasAndaluri edited the summary of this revision.
YashasAndaluri edited the summary of this revision.

This patch adds a `ivdep` pragma which uses the `IsParallel` loop hint attribute to indicate to the vectorizer that load and store instructions in the loop can be executed in parallel (belong to the same `llvm.access.group`) . This pragma will also imply `vectorize(enable)`.
Usage:

  #pragma clang loop ivdep(enable|disable)


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69391

Files:
  clang/docs/LanguageExtensions.rst
  clang/include/clang/Basic/Attr.td
  clang/include/clang/Basic/AttrDocs.td
  clang/include/clang/Basic/DiagnosticParseKinds.td
  clang/lib/CodeGen/CGLoopInfo.cpp
  clang/lib/Parse/ParsePragma.cpp
  clang/lib/Sema/SemaStmtAttr.cpp
  clang/test/AST/ast-print-pragmas.cpp
  clang/test/CodeGenCXX/pragma-loop-ivdep.cpp
  clang/test/Parser/pragma-loop.cpp
  clang/test/Parser/pragma-unroll-and-jam.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69391.226257.patch
Type: text/x-patch
Size: 19289 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191024/03bd5277/attachment-0001.bin>


More information about the cfe-commits mailing list