[all-commits] [llvm/llvm-project] c74730: [clang][OpenMP] Move "loop" directive mapping from...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Tue Jul 23 05:32:03 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c74730070a0261d582e01ee7e5eef2e7c39fb11f
      https://github.com/llvm/llvm-project/commit/c74730070a0261d582e01ee7e5eef2e7c39fb11f
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-23 (Tue, 23 Jul 2024)

  Changed paths:
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/Sema/SemaOpenMP.h
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/test/OpenMP/generic_loop_ast_print.cpp
    M clang/test/OpenMP/generic_loop_codegen.cpp
    M clang/test/PCH/pragma-loop.cpp

  Log Message:
  -----------
  [clang][OpenMP] Move "loop" directive mapping from sema to codegen (#99905)

Given "loop" construct, clang will try to treat it as "for",
"distribute" or "simd", depending on either the implied binding, or the
bind clause if present. This patch moves the code that performs this
construct remapping from sema to codegen.

For a "loop" construct without a bind clause, this patch will create an
implicit bind clause based on implied binding to simplify further
analysis.

During codegen the function `EmitOMPGenericLoopDirective` (i.e. "loop")
will invoke the "emit" functions for "for", "distribute" or "simd",
depending on the bind clause.

---------

Co-authored-by: Alexey Bataev <a.bataev at gmx.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list