diff options
author | Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> | 2024-07-23 07:31:42 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-23 07:31:42 -0500 |
commit | c74730070a0261d582e01ee7e5eef2e7c39fb11f (patch) | |
tree | 5f212250532082c010ca305a8fec51dff72e8e59 /clang/lib/Serialization/ASTWriterStmt.cpp | |
parent | 2eea9d6a2d1c56df5cbe57972029cd1d8263162a (diff) | |
download | llvm-c74730070a0261d582e01ee7e5eef2e7c39fb11f.zip llvm-c74730070a0261d582e01ee7e5eef2e7c39fb11f.tar.gz llvm-c74730070a0261d582e01ee7e5eef2e7c39fb11f.tar.bz2 |
[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@gmx.com>
Diffstat (limited to 'clang/lib/Serialization/ASTWriterStmt.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index caa2222..ec667b5 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -2389,7 +2389,6 @@ void ASTStmtWriter::VisitOMPExecutableDirective(OMPExecutableDirective *E) { Record.writeOMPChildren(E->Data); Record.AddSourceLocation(E->getBeginLoc()); Record.AddSourceLocation(E->getEndLoc()); - Record.writeEnum(E->getMappedDirective()); } void ASTStmtWriter::VisitOMPLoopBasedDirective(OMPLoopBasedDirective *D) { |