[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:
Jonas Hahnfeld 2018-10-02 19:12:47 +00:00
parent 4b1ec17fb0
commit 5aaaecea7c
1 changed files with 1 additions and 14 deletions

View File

@ -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) {