@@ -1537,6 +1537,12 @@ class CodeGenModule : public CodeGenTypeCache {
void printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
const Decl *D) const;
+ /// Under debug mode, print status of target teams loop transformation,
+ /// w
@@ -11311,6 +11311,10 @@ class Sema final {
OpenMPDirectiveKind &Kind,
OpenMPDirectiveKind &PrevMappedDirective);
+ /// [target] teams loop is equivalent to parallel for if associated loop
+ /// nest meets certain critera.
+ b
ddpagan wrote:
After some additional discussion with Alexey offline, he concluded that the
current changes are okay, specifically for this reason:
_"Then I realized that actually it does not require AST nodes building. In this
case, this helper class should be moved to CodeGenStmt and hidden i
@@ -1537,6 +1537,12 @@ class CodeGenModule : public CodeGenTypeCache {
void printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
const Decl *D) const;
+ /// Under debug mode, print status of target teams loop transformation,
+ /// w
@@ -11311,6 +11311,10 @@ class Sema final {
OpenMPDirectiveKind &Kind,
OpenMPDirectiveKind &PrevMappedDirective);
+ /// [target] teams loop is equivalent to parallel for if associated loop
+ /// nest meets certain critera.
+ b
alexey-bataev wrote:
I already told, that you don't need the changes neither in sema, nor in stmt
class. All function changes are in codegen, no other changes are required.
https://github.com/llvm/llvm-project/pull/72417
___
cfe-commits mailing list
c
ddpagan wrote:
Ping.
https://github.com/llvm/llvm-project/pull/72417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
ddpagan wrote:
Ping.
https://github.com/llvm/llvm-project/pull/72417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
@@ -7485,6 +7485,99 @@ void
CodeGenModule::printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
}
}
+namespace {
+/// A 'teams loop' with a nested 'loop bind(parallel)' or generic function
+/// call in the associated loop-nest cannot be a 'parllel for'.
+class TeamsLoopCh
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff ec64af5994213cf7933e961a2b7fe07193a77b61
8710c48fb90373ebd2afe1afa7399a6643b52c37 --
llvmbot wrote:
@llvm/pr-subscribers-clang-codegen
@llvm/pr-subscribers-clang
Author: David Pagan (ddpagan)
Changes
IR for 'target teams loop' is now dependent on suitability of associated
loop-nest.
If a loop-nest:
- does not contain a function call, or
- the -fopenmp-assume-no-neste
23 matches
Mail list logo