Arpith, see the comment in CGOpenMPRuntime.cpp

   // if SimpleReduction is true, only the next code is generated:
   //  ...
   //  <LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i]);
   //  ...

and is used for omp simd directive only.

-------------
Best regards,
Alexey Bataev

10.02.2017 18:49, Arpith Jacob via Phabricator пишет:
> arpith-jacob added inline comments.
>
>
> ================
> Comment at: lib/CodeGen/CGOpenMPRuntime.h:956-962
>     virtual void emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
>                                ArrayRef<const Expr *> Privates,
>                                ArrayRef<const Expr *> LHSExprs,
>                                ArrayRef<const Expr *> RHSExprs,
>                                ArrayRef<const Expr *> ReductionOps,
> -                             bool WithNowait, bool SimpleReduction);
> +                             bool WithNowait, bool SimpleReduction,
> +                             OpenMPDirectiveKind ReductionKind);
> ----------------
> ABataev wrote:
>> Number of parameters is getting too big, maybe it is better to aggregate 
>> them into a struct/class?
> Thanks Alexey for your comments.  I can place 'WithNoWait, SimpleReduction, 
> ReductionKind' in a struct.
>
> Can you explain what 'SimpleReduction' stands for?  It isn't create to me 
> when the reduction is simple...
>
> Thanks.
>
>
> https://reviews.llvm.org/D29758
>
>
>

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to