[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/IR/OpenMPConstants.cpp:1 -//===- OpenMPConstants.cpp - Helpers related to OpenMP code generation ---===// +//===- OpenMPIRBuilder.cpp - Builder for LLVM-IR for OpenMP directives ===// // Constants? =

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1967 (DSAStack->isForceCaptureByReferenceInTargetExecutable() && !Ty->isAnyPointerType()) || !Ty->isScalarType() || ABataev wrote: > Seems to me, you're mis

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4374 + case DMIB_unspecified: +return OMPC_MAP_tofrom; + } cchen wrote: > ABataev wrote: > > `OMPC_MAP_tofrom` must be returned only for `DMIB_tofrom`, for others, it > > must be `llv

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4374 + case DMIB_unspecified: +return OMPC_MAP_tofrom; + } cchen wrote: > ABataev wrote: > > cchen wrote: > > > ABataev wrote: > > > > `OMPC_MAP_tofrom` must be returned only for `DMIB

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4374 + case DMIB_unspecified: +return OMPC_MAP_tofrom; + } cchen wrote: > ABataev wrote: > > cchen wrote: > > > ABataev wrote: > > > > cchen wrote: > > > > > ABataev wrote: > > > > > >

[PATCH] D69923: [OPENMP][DOCS] Update OpenMP status (NFC)

2019-11-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69923/new/ https://reviews.llvm.org/D69923 ___ cfe-commits ma

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:3489 + !OMPRegionInfo->hasCancel())) { +OMPBuilder->CreateBarrier({CGF.Builder.saveIP()}, Kind, ForceSimpleCall, + EmitChecks); `

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:620 + SourceLocation Loc) { +auto &DefaultmapInfo = getTopOfStack().DefaultmapMap[DMVC]; +DefaultmapInfo.ImplicitBehavior = DMIB; `auto` -> to real type ===

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:3489 + !OMPRegionInfo->hasCancel())) { +OMPBuilder->CreateBarrier({CGF.Builder.saveIP()}, Kind, ForceSimpleCall, + EmitChecks); j

[PATCH] D69923: [OPENMP][DOCS] Update OpenMP status (NFC)

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbcf754a3212c: [OPENMP][DOCS] Update OpenMP status (NFC) (authored by ABataev). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69923/new/ https://reviews.llvm

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev created this revision. ABataev added a reviewer: jdoerfert. Herald added a subscriber: guansong. Herald added a project: clang. Untie context matching/scoring from the attribute for declare variant directive to simplify future uses in other context-dependent directives. Repository: rG

[PATCH] D69853: [OpenMP][NFCI] Introduce llvm/IR/OpenMPConstants.h

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D69853#1737218 , @jdoerfert wrote: > Are there blocking issues on this one or can we go ahead and adjust minor > details as we go? I still think it would be good to separate patches into the LLVM part and into the clang par

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:16411-16420 +bool isDefaultmapModifier = (M == OMPC_DEFAULTMAP_MODIFIER_alloc) || +(M == OMPC_DEFAULTMAP_MODIFIER_to) || +(M == OMPC_DEFAUL

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/include/clang/Driver/Options.td:1643-1644 HelpText<"Emit OpenMP code only for SIMD-based constructs.">; +def fopenmp_enable_irbuilder : Flag<["-"], "fopenmp-enable-irbuilder">, Group, Flags<[CC1Option, NoArgumentUnused, HelpHid

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/include/clang/Driver/Options.td:1643-1644 HelpText<"Emit OpenMP code only for SIMD-based constructs.">; +def fopenmp_enable_irbuilder : Flag<["-"], "fopenmp-enable-irbuilder">, Group, Flags<[CC1Option, NoArgumentUnused, HelpHid

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked 6 inline comments as done. ABataev added inline comments. Comment at: clang/include/clang/Basic/Attr.td:3310 +VariadicUnsignedArgument<"CtxSelectorSets">, +VariadicUnsignedArgument<"CtxSelectors">, VariadicStringArgument<"ImplVendors">

[PATCH] D69853: [OpenMP][NFCI] Introduce llvm/IR/OpenMPConstants.h

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D69853#1737319 , @jdoerfert wrote: > In D69853#1737264 , @ABataev wrote: > > > In D69853#1737218 , @jdoerfert > > wrote: > > > > > Are there blo

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/Driver/fopenmp.c:130-131 +// CHECK-CC1-OPENMPIRBUILDER: "-cc1" +// CHECK-CC1-OPENMPIRBUILDER: "-fopenmp" +// CHECK-CC1-OPENMPIRBUILDER: "-fopenmp-enable-irbuilder" +// `CHECK...-SAME`? Comme

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked 3 inline comments as done. ABataev added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.h:43 +/// Struct to store the context selectors info. +template > +struct OpenMPCtxSelectorData { jdoerfert wrote: > ABataev wrote: > > jdoe

[PATCH] D69853: [OpenMP][NFCI] Introduce llvm/IR/OpenMPConstants.h

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG with a nit Comment at: llvm/include/llvm/IR/OpenMPConstants.h:1 +//===- IR/OpenMPConstants.h - OpenMP related constants & helper - C++ -*-===// +// Just

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked an inline comment as done. ABataev added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.h:56 + OpenMPContextSelectorKind Ctx, const U &Names) + : CtxSet(CtxSet), Ctx(Ctx), Names(Names.begin(), Names.end()) {}

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev updated this revision to Diff 228290. ABataev added a comment. Rebase + address some comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69952/new/ https://reviews.llvm.org/D69952 Files: clang/include/clang/Basic/Attr.td clang/incl

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-07 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked 3 inline comments as done. ABataev added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.h:43 +/// Struct to store the context selectors info. +template > +struct OpenMPCtxSelectorData { jdoerfert wrote: > ABataev wrote: > > jdoe

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4435-4437 +if (DMIB == DMIB_alloc) Kind = OMPC_MAP_alloc; +else if (DMIB == DMIB_to) Kind = OMPC_MAP_to; +else if (DMIB == DMIB_from) Kind = OMPC_MAP_from; cchen wrot

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/barrier_codegen.cpp:22 +// CLANGCG-NOT: readonly +// IRBUILDER: ; Function Attrs: nofree nosync nounwind readonly +// IRBUILDER-NEXT: declare i32 @__kmpc_global_thread_num(%struct.ident_t*) Not sur

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/IR/OpenMPIRBuilder.cpp:153-159 +// Search the entry block, not needed once all thread id calls go through +// here and are cached in the OpenMPIRBuilder. +for (Instruction &I : Fn->getEntryBlock()) + if (CallIns

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev updated this revision to Diff 228481. ABataev added a comment. Score is part of context data. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69952/new/ https://reviews.llvm.org/D69952 Files: clang/include/clang/Basic/Attr.td clang/inclu

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/barrier_codegen.cpp:22 +// CLANGCG-NOT: readonly +// IRBUILDER: ; Function Attrs: nofree nosync nounwind readonly +// IRBUILDER-NEXT: declare i32 @__kmpc_global_thread_num(%struct.ident_t*) jdoerfe

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2343-2344 +// pointer +if (Arg.back() < OMPC_DEFAULTMAP_MODIFIER_unknown) + Arg.back() = OMPC_DEFAULTMAP_MODIFIER_unknown; KLoc.push_back(Tok.getLocation()); Is this poss

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/barrier_codegen.cpp:22 +// CLANGCG-NOT: readonly +// IRBUILDER: ; Function Attrs: nofree nosync nounwind readonly +// IRBUILDER-NEXT: declare i32 @__kmpc_global_thread_num(%struct.ident_t*) jdoerfe

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/barrier_codegen.cpp:22 +// CLANGCG-NOT: readonly +// IRBUILDER: ; Function Attrs: nofree nosync nounwind readonly +// IRBUILDER-NEXT: declare i32 @__kmpc_global_thread_num(%struct.ident_t*) jdoerfe

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked 2 inline comments as done. ABataev added a comment. In D69952#1739366 , @jdoerfert wrote: > I think we are almost there. > > Last remaining points: > > - Constructor (see below) > - enum naming scheme (see below) > - can we test this somehow

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-08 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/barrier_codegen.cpp:22 +// CLANGCG-NOT: readonly +// IRBUILDER: ; Function Attrs: nofree nosync nounwind readonly +// IRBUILDER-NEXT: declare i32 @__kmpc_global_thread_num(%struct.ident_t*) jdoerfe

[PATCH] D70046: [OpenMP] Use an explicit copy in a range-based for

2019-11-09 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Why do we get the warnings with references? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70046/new/ https://reviews.llvm.org/D70046 ___ cfe-commits mailing list cfe-commits@li

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev updated this revision to Diff 228690. ABataev added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69952/new/ https://reviews.llvm.org/D69952 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic

[PATCH] D70046: [OpenMP] Use an explicit copy in a range-based for

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG, thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70046/new/ https://reviews.llvm.org/D70046 __

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2343-2344 +// pointer +if (Arg.back() < OMPC_DEFAULTMAP_MODIFIER_unknown) + Arg.back() = OMPC_DEFAULTMAP_MODIFIER_unknown; KLoc.push_back(Tok.getLocation()); cchen wrote:

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4476 } -if (!ImplicitMaps.empty()) { - CXXScopeSpec MapperIdScopeSpec; - DeclarationNameInfo MapperId; - if (OMPClause *Implicit = ActOnOpenMPMapClause( - llvm::None, llv

[PATCH] D69952: [OPENMP50]Generalize handling of context matching/scoring.

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfde11e9f23a3: [OPENMP50]Generalize handling of context matching/scoring. (authored by ABataev). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69952/new/ htt

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/include/llvm/IR/OpenMPConstants.h:57 +#include "llvm/IR/OpenMPKinds.def" + LLVM_MARK_AS_BITMASK_ENUM(0x7FFF) +}; Why do you use `0x7FFF` as the largest value? Comment at: llvm/lib/IR/Open

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:16393-16416 +static DefaultMapImplicitBehavior +getImplicitBehaviorFromModifier(OpenMPDefaultmapClauseModifier M) { + switch (M) { + case OMPC_DEFAULTMAP_MODIFIER_alloc: +return DMIB_alloc; + case OMP

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-11 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 ___

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:179 +Builder.CreateCall(FnDecl, Ident, "omp_global_thread_num"); +if (Instruction *IdentI = dyn_cast(Ident)) + Call->moveAfter(IdentI); `auto *` C

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D69922#1741659 , @jdoerfert wrote: > Use IRBuilder for cancel barriers In general, it would better to implement cancellation barriers in the separate patch. Same for OpenMPIrBuilder. Repository: rG LLVM Github Monorepo

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2339-2345 +unsigned Modifier = getOpenMPSimpleClauseType( +Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)); +// Set defaultmap modifier to unknown if it is either scalar, aggregate, or

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2339-2345 +unsigned Modifier = getOpenMPSimpleClauseType( +Kind, Tok.isAnnotation() ? "" : PP.getSpelling(Tok)); +// Set defaultmap modifier to unknown if it is either scalar, aggregate, or

[PATCH] D70142: [OpenMP5.0] Fix a parsing issue for the extended defaultmap

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Add a test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70142/new/ https://reviews.llvm.org/D70142 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( AB

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-12 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( AB

[PATCH] D70142: [OpenMP5.0] Fix a parsing issue for the extended defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D70142#1742984 , @cchen wrote: > Not sure how to test this change since the issue only happens after I add > more implicit-behaviors for extended defaultmap. Now > `ActOnOpenMPDefaultmapClause` is doing `M != > OMPC_DEFAULTMA

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:642 + } + bool mustBeFirstprivateBase(OpenMPDefaultmapClauseModifier M, + OpenMPDefaultmapClauseKind Kind) const { Static function Comment a

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Also, one common comment. It would be good to reduce copy-paste in tests and just add some new lines of codes, not to repeat existing one. Comment at: clang/test/OpenMP/target_defaultmap_messages.cpp:1 -// RUN: %clang_cc1 -verify -fopenmp %s -Wuninitia

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_messages.cpp:49 + + #pragma omp target defaultmap(tofrom:scalar) defaultmap(to:scalar) // expected-error {{at most one defaultmap clause for each variable-category can appear on the directive}} + f

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_messages.cpp:49 + + #pragma omp target defaultmap(tofrom:scalar) defaultmap(to:scalar) // expected-error {{at most one defaultmap clause for each variable-category can appear on the directive}} + f

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_messages.cpp:49 + + #pragma omp target defaultmap(tofrom:scalar) defaultmap(to:scalar) // expected-error {{at most one defaultmap clause for each variable-category can appear on the directive}} + f

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-13 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Result = Builder.CreateCall( jd

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2020-2034 if (!FirstClause) { Diag(Tok, diag::err_omp_more_one_clause) << getOpenMPDirectiveName(DKind) << getOpenMPClauseName(CKind) << 0; ErrorFound = true; } +Clau

[PATCH] D70245: [OPENMP50]Add device/kind context selector support.

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev created this revision. ABataev added a reviewer: jdoerfert. Herald added subscribers: s.egerton, guansong, simoncook, fedor.sergeev, aheejin, rampitec. Herald added a project: clang. Added basic parsing/sema support for device/kind context selector. Repository: rG LLVM Github Monorepo

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:2953-2954 +(!(isOpenMPTargetExecutionDirective(DKind) && Res && + (*Res == OMPDeclareTargetDeclAttr::MT_Link || +*Res == OMPDeclareTargetDeclAttr::MT_To { +

[PATCH] D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. I would suggest to split this patch into 2 part: the first one is NFC and just makes the ompiler to use the new interfaces and the second with the new functionality for mappers. Comment at: include/clang/AST/OpenMPClause.h:4298 + /// use_device_ptr a

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:200 +OpenMPIRBuilder::InsertPointTy +OpenMPIRBuilder::emitBarrierImpl(const LocationDescription &Loc, Directive Kind, + bool ForceSimpleCall, bool CheckCancelFlag) {

[PATCH] D69922: [OpenMP] Use the OpenMP-IR-Builder

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:3489 +OMPRegionInfo->hasCancel()) { + auto IP = CGF.Builder.saveIP(); + llvm::BasicBlock *ExitBB = Also, you need to introduce/use RAII that saves/restores insertio

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:2953-2954 +(!(isOpenMPTargetExecutionDirective(DKind) && Res && + (*Res == OMPDeclareTargetDeclAttr::MT_Link || +*Res == OMPDeclareTargetDeclAttr::MT_To { +

[PATCH] D70258: [OpenMP][IR-Builder] Introduce the finalization stack

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:1483 +// OpenMPIRBuilder is asked to construct a parallel (or similar) construct. +auto FiniCB = [&](llvm::OpenMPIRBuilder::InsertPointTy IP) { + assert(IP.getBlock()->end() == IP.getPoi

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Tests for codegen of the declare target to|link vars with the new defaultmap clauses? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69204/new/ https://reviews.llvm.org/D69204

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-14 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_codegen.cpp:1538-1546 +void declare_target_link(float A) +{ + // CK26: [[AADDR:%.+]] = alloca float* + // CK26: store float* [[A:%.+]], float** [[AADDR]] + // CK26: [[ZERO:%.+]] = load float*, float

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_codegen.cpp:1544-1545 + // CK26: [[ONE:%.+]] = load float, float* [[ZERO]] +#pragma omp target defaultmap(none:aggregate) map(A) + compute(A); +} Don't understand how does it test ma

[PATCH] D70258: [OpenMP][IR-Builder] Introduce the finalization stack

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:1499-1509 +OMPBuilder->pushFinalizationCB(std::move(FI)); + } + CGOpenMPOutlinedRegionInfo CGInfo(*CS, ThreadIDVar, CodeGen, InnermostKind, HasCancel, Out

[PATCH] D70258: [OpenMP][IR-Builder] Introduce the finalization stack

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:1481-1509 + if (OMPBuilder) { + +// The following callback is the crucial part of clangs cleanup process. +// +// NOTE: +// Once the OpenMPIRBuilder is used to create parallel region

[PATCH] D70258: [OpenMP][IR-Builder] Introduce the finalization stack

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/include/llvm/Frontend/OpenMPIRBuilder.h:69-71 + void pushFinalizationCB(FinalizationInfo &&FI) { +FinalizationStack.emplace_back(std::move(FI)); + } jdoerfert wrote: > ABataev wrote: > > jdoerfert wrote: > > >

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG with a nit Comment at: clang/lib/Sema/SemaOpenMP.cpp:4459 } -if (!ImplicitMaps.empty()) { +unsigned ClauseKindCnt = -1; +for (ArrayRef ImplicitMap : Imp

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D69204#1747941 , @cchen wrote: > Alexey, thanks so much for your help, you really make me learn so much about > Clang and coding in general. Can you land this patch for me since I'm still > new to llvm/clang and haven't have t

[PATCH] D70245: [OPENMP50]Add device/kind context selector support.

2019-11-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked an inline comment as done. ABataev added inline comments. Comment at: clang/test/OpenMP/declare_variant_device_kind_codegen.cpp:81 +#define SUBSET host, cpu +#define WRONG cpu, gpu +#endif // CPU jdoerfert wrote: > What is wrong about cpu, gpu toge

[PATCH] D70245: [OPENMP50]Add device/kind context selector support.

2019-11-18 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev updated this revision to Diff 229843. ABataev added a comment. Address comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70245/new/ https://reviews.llvm.org/D70245 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basic/

[PATCH] D69316: [OpenMP 5.0] target update list items need not be contiguous (Sema)

2019-11-19 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:14926-14929 + } else if (((SemaRef.getLangOpts().OpenMP >= 50 && + DKind != OMPD_target_update) || + SemaRef.getLangOpts().OpenMP < 50) && + (AllowUnit

[PATCH] D69088: [Lex] #pragma clang transform

2019-11-19 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParsePragma.cpp:3062 +// TODO: Handle nested pragmas as in r325369. +assert(!Tok.isAnnotation()); +assert(Tok.isNot(tok::annot_pragma_transform)); Add a message in this assert. =

[PATCH] D70245: [OPENMP50]Add device/kind context selector support.

2019-11-19 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. More comments? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70245/new/ https://reviews.llvm.org/D70245 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.ll

[PATCH] D69785: [OpenMP] Introduce the OpenMP-IR-Builder

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:152-155 + std::string LineStr = std::to_string(DIL->getLine()); + std::string ColumnStr = std::to_string(DIL->getColumn()); + std::string SrcLocStr = (";" + Filename + ";" + Function).str() + ";"

[PATCH] D70549: [OPENMP]Fix PR41826: symbols visibility in device code.

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev created this revision. ABataev added a reviewer: jdoerfert. Herald added a subscriber: guansong. Herald added a project: clang. Currently, we ignore all locality attributes/info when building for the device and thus all symblos are externally visible and can be preemted at the runtime. It

[PATCH] D70245: [OPENMP50]Add device/kind context selector support.

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4e8231b5cf0f: [OPENMP50]Add device/kind context selector support. (authored by ABataev). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70245/new/ https://re

[PATCH] D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Why do we need this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70551/new/ https://reviews.llvm.org/D70551 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[PATCH] D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D70551#173 , @sdmitriev wrote: > In D70551#1755527 , @ABataev wrote: > > > Why do we need this? > > > To pass wrapper bitcode directly to the linker when LTO is enabled. LTO > plugin

[PATCH] D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode

2019-11-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D70551#1755761 , @sdmitriev wrote: > In D70551#1755583 , @ABataev wrote: > > > In D70551#173 , @sdmitriev > > wrote: > > > > > In D70551#1755

[PATCH] D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode

2019-11-22 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D70551#1756997 , @sdmitriev wrote: > Ok, it is possible to do it like you suggested, but I think that teaching > wrapper tool to set data layout without external help is more preferable. > There is a certain difference between

[PATCH] D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode

2019-11-22 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D70551#1757065 , @sdmitriev wrote: > I would agree with you if data layout was indeed available in the driver, but > unfortunately driver does not have access to any existing TargetInfo instance > (or maybe I just have not fou

[PATCH] D70549: [OPENMP]Fix PR41826: symbols visibility in device code.

2019-11-25 Thread Alexey Bataev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbbc328c62430: [OPENMP]Fix PR41826: symbols visibility in device code. (authored by ABataev). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70549/new/ https:

[PATCH] D70726: [OpenMP50] Add parallel master construct

2019-11-26 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. Missing check for prohibited nesting of the barrier and worksharing directvies in the master regions. Plus, definitely no tests for this. Comment at: clang/include/clang/AST/StmtOpenMP.h:1857 + /// true if current directive has inner cancel directive.

[PATCH] D70739: [OPENMP50]Add device/isa context selector support.

2019-11-26 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev created this revision. ABataev added a reviewer: jdoerfert. Herald added a subscriber: guansong. Herald added a project: clang. Added basic support for device/isa context selector. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D70739 Files: clang/include/clang/Basic/

[PATCH] D60455: [SYCL] Implement SYCL device code outlining

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:2477 + if (LangOpts.SYCLIsDevice && Global->hasAttr()) { +// SYCL kernels can be templated and not called from anywhere in the Need to check if the decl must be emitted at all.

[PATCH] D70739: [OPENMP50]Add device/isa context selector support.

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked an inline comment as done. ABataev added inline comments. Comment at: clang/test/OpenMP/nvptx_declare_variant_device_isa_codegen.cpp:48 + +#pragma omp declare variant(foo) match(device = {isa("nvptx64")}) +int bar() { return 1; } jdoerfert wrote: >

[PATCH] D60455: [SYCL] Implement SYCL device code outlining

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:2477 + if (LangOpts.SYCLIsDevice && Global->hasAttr()) { +// SYCL kernels can be templated and not called from anywhere in the bader wrote: > ABataev wrote: > > Need to check if

[PATCH] D70739: [OPENMP50]Add device/isa context selector support.

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev updated this revision to Diff 231265. ABataev added a comment. Address comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70739/new/ https://reviews.llvm.org/D70739 Files: clang/include/clang/Basic/Attr.td clang/include/clang/Basi

[PATCH] D70739: [OPENMP50]Add device/isa context selector support.

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev marked 2 inline comments as done. ABataev added inline comments. Comment at: clang/include/clang/Sema/Sema.h:9320 using OMPCtxSelectorData = - OpenMPCtxSelectorData, ExprResult>; + OpenMPCtxSelectorData, ExprResult>; jdoerfert wrote: > I wo

[PATCH] D60455: [SYCL] Implement SYCL device code outlining

2019-11-27 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:2477 + if (LangOpts.SYCLIsDevice && Global->hasAttr()) { +// SYCL kernels can be templated and not called from anywhere in the bader wrote: > ABataev wrote: > > bader wrote: > >

<    11   12   13   14   15   16   17   18   19   20   >