[PATCH] D144634: [Clang][OpenMP] Support for Code Generation of loop bind clause
Sunil K via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 16 09:56:57 PDT 2023
koops added a comment.
>> However, generic_loop_messages.cpp & generic_loop_ast_print.cpp are present and provide a good coverage.
>
> I rather doubt that these tests provide good coverage, since you're changing the directive kind here on the fly. This is a very new functionality, which was not tested before.
> Add the tests for nesting of the regions, i.e. loop bind directive, enclosed in different regions, and diagnostics.
In https://reviews.llvm.org/D145823 : Add codegen for combined 'loop' directives, I see the following code
void CodeGenFunction::EmitOMPParallelGenericLoopDirective() {
....
....
emitCommonOMPParallelDirective(*this, S, OMPD_for, CodeGen, emitEmptyBoundParameters);
....
....
}
Here, the GenericLoopDirective is being changed to OMPD_for because of the Parallel Directive. Similarly,
void CodeGenFunction::EmitOMPTeamsGenericLoopDirective() {
....
....
CGF.CGM.getOpenMPRuntime().emitInlinedDirective(CGF, OMPD_distribute, CodeGenDistribute);
....
....
}
Here, GenericLoopDirective is being mapped to OMPD_distribute because of the Teams construct. These changes are very similar to mine. I still do not understand why you are saying "This is a very new functionality". Anyway, if you can at least provide me some directions on which are all the "enclosed in different regions" it will be helpful.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144634/new/
https://reviews.llvm.org/D144634
More information about the cfe-commits
mailing list