forked from OSchip/llvm-project
[OpenMP] Simplify code for reductions on distribute directives, NFC.
Only need to care about the 'distribute simd' case, all other composite directives are handled elsewhere. This was already reflected in the outer 'if' condition, so all other inner conditions could never be true. Differential Revision: https://reviews.llvm.org/D52731 llvm-svn: 343617
This commit is contained in:
parent
4b1ec17fb0
commit
5aaaecea7c
|
@ -3400,20 +3400,7 @@ void CodeGenFunction::EmitOMPDistributeLoop(const OMPLoopDirective &S,
|
|||
if (isOpenMPSimdDirective(S.getDirectiveKind()) &&
|
||||
!isOpenMPParallelDirective(S.getDirectiveKind()) &&
|
||||
!isOpenMPTeamsDirective(S.getDirectiveKind())) {
|
||||
OpenMPDirectiveKind ReductionKind = OMPD_unknown;
|
||||
if (isOpenMPParallelDirective(S.getDirectiveKind()) &&
|
||||
isOpenMPSimdDirective(S.getDirectiveKind())) {
|
||||
ReductionKind = OMPD_parallel_for_simd;
|
||||
} else if (isOpenMPParallelDirective(S.getDirectiveKind())) {
|
||||
ReductionKind = OMPD_parallel_for;
|
||||
} else if (isOpenMPSimdDirective(S.getDirectiveKind())) {
|
||||
ReductionKind = OMPD_simd;
|
||||
} else if (!isOpenMPTeamsDirective(S.getDirectiveKind()) &&
|
||||
S.hasClausesOfKind<OMPReductionClause>()) {
|
||||
llvm_unreachable(
|
||||
"No reduction clauses is allowed in distribute directive.");
|
||||
}
|
||||
EmitOMPReductionClauseFinal(S, ReductionKind);
|
||||
EmitOMPReductionClauseFinal(S, OMPD_simd);
|
||||
// Emit post-update of the reduction variables if IsLastIter != 0.
|
||||
emitPostUpdateForReductionClause(
|
||||
*this, S, [IL, &S](CodeGenFunction &CGF) {
|
||||
|
|
Loading…
Reference in New Issue