[PATCH] D74941: [OpenMP] `omp begin/end declare variant` - part 1, parsing

2020-02-21 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246032. jdoerfert marked an inline comment as done. jdoerfert added a comment. Herald added a subscriber: jfb. Add tests and address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74941/new/ https://r

[PATCH] D74941: [OpenMP] `omp begin/end declare variant` - part 1, parsing

2020-02-21 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246035. jdoerfert added a comment. Revert test check lines to the parser part only Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74941/new/ https://reviews.llvm.org/D74941 Files: clang/include/clang/AST/Op

[PATCH] D75001: [OpenMP][cmake] ignore warning on unknown CUDA version

2020-02-21 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert accepted this revision. jdoerfert added a comment. This revision is now accepted and ready to land. I like this way better. I was hoping we could do it in our cmake only :) Give others a day or so to comment before your commit but I'm fine with this. CHANGES SINCE LAST ACTION https:

[PATCH] D74787: [IRBuilder] Always respect inserter/folder

2020-02-22 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. > There should be at most two iterations, one to perform folds and one to > verify the fixpoint. If there are more iterations, that's a bug in worklist > management FWIW, the Attributor uses basically the same scheme. It helps us to monitor iteration increases/decrea

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-02-22 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246088. jdoerfert added a comment. Update language to memory locations instead of objects Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74935/new/ https://reviews.llvm.org/D74935 Files: llvm/docs/LangRef.r

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-02-22 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D74935#1887960 , @nhaehnle wrote: > In D74935#1887245 , @efriedma wrote: > > > In D74935#1886020 , @nhaehnle > > wrote: > > > > > I find this p

[PATCH] D74941: [OpenMP] `omp begin/end declare variant` - part 1, parsing

2020-02-22 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246094. jdoerfert added a comment. minor adjustment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74941/new/ https://reviews.llvm.org/D74941 Files: clang/include/clang/AST/OpenMPClause.h clang/include/cl

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-02-23 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D74935#1888506 , @arsenm wrote: > Another related point I’ve never been clear on is if a readnone function is > allowed to read constant memory Right, ... I basically did assume something for the Attributor readnone deduct

[PATCH] D74925: [OpenMP][Opt] Combine `struct ident_t*` during deduplication

2020-02-24 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D74925#1889185 , @JonChesterfield wrote: > Cool. Can we reasonably add the reproducible from 44893 to a regression > suite, in addition to these IR tests? It's written in C so would need to be > under clang's tests. Don

[PATCH] D74925: [OpenMP][Opt] Combine `struct ident_t*` during deduplication

2020-02-24 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246256. jdoerfert marked an inline comment as done. jdoerfert added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. Add tests, addressed comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://r

[PATCH] D74925: [OpenMP][Opt] Combine `struct ident_t*` during deduplication

2020-02-25 Thread Johannes Doerfert via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG396b7253944e: [OpenMP][Opt] Combine `struct ident_t*` during deduplication (authored by jdoerfert). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74925/new/

[Diffusion] rG396b7253944e: [OpenMP][Opt] Combine `struct ident_t*` during deduplication

2020-02-25 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added inline comments. BRANCHES master /clang/test/OpenMP/PR44893.c:3 > Can you add some sort of positive test, related to where the crash was? I did, in deduplication.ll. > If this was a debug info related crash, maybe you can test that

[PATCH] D59319: [OpenMP][Offloading][1/3] A generic and simple target region interface

2020-02-25 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D59319#1892544 , @JonChesterfield wrote: > I'd like to rebase this on the current deviceRTL, and add any nvptx/amdgcn > specific hooks if necessary. Any objections? No generic objections. Please take a look at the TRegion

[PATCH] D74941: [OpenMP] `omp begin/end declare variant` - part 1, parsing

2020-02-25 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 246630. jdoerfert marked 5 inline comments as done. jdoerfert added a comment. Addressed comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74941/new/ https://reviews.llvm.org/D74941 Files: clang/inclu

[PATCH] D75210: [Attr] Allow ParsedAttr to be constructor for any Attribute

2020-02-26 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: erichkeane, aaron.ballman, rjmccall, john.brawn. Herald added a subscriber: bollu. Herald added a project: clang. ParsedAttr is used for `clang attribute push/pop` a utility that is reusable in other contexts as well. This allows us to cr

[PATCH] D75210: [Attr] Allow ParsedAttr to be constructor for any Attribute

2020-02-26 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added a comment. In D75210#1894370 , @erichkeane wrote: > I don't see anything glaring here, but I would love some better explanation > as to the goal here. I don't see this used anywhere, the commit

[PATCH] D75210: [Attr] Allow ParsedAttr to be constructor for any Attribute

2020-02-28 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D75210#1898012 , @aaron.ballman wrote: > I think this direction is reasonable to go with, but would prefer to land > this with the code actually using this functionality (as there's not really a > good way to test it, other

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-04 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D74935#1905026 , @jeroen.dobbelaere wrote: > The reason I bring this up, is that in the full restrict implementation > (D68484 ), the alias analysis will do a > recursive analysis, proving t

[PATCH] D69498: IR: Invert convergent attribute handling

2019-10-29 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D69498#1725819 , @mehdi_amini wrote: > Maybe we can start by looking into the motivation for this patch: > > > There is a burden on frontends in environments that care about convergent > > operations to add the attribute just

[PATCH] D69498: IR: Invert convergent attribute handling

2019-10-30 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D69498#1726610 , @mehdi_amini wrote: > > The short version is the fact that most developers aren't aware of and > > don't understand the subtleties of convergence, and making sure the > > front-end does something in all cont

[PATCH] D69498: IR: Invert convergent attribute handling

2019-10-30 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a subscriber: hfinkel. jdoerfert added a comment. In D69498#1727419 , @mehdi_amini wrote: > In D69498#1727080 , @jdoerfert wrote: > > > Let me quote @arsenm here because this is so important: "Basica

[PATCH] D69498: IR: Invert convergent attribute handling

2019-10-30 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D69498#1727626 , @mehdi_amini wrote: > In D69498#1727546 , @jdoerfert wrote: > > > In D69498#1727419 , @mehdi_amini > > wrote: > > > > > In D69

[PATCH] D69666: clang: Fix assert on void pointer arithmetic with address_space

2019-10-31 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. Communication problem: > This attempted to always use the default address space void pointer type > instead of preserving the source address space. Where "This" is the old code. Replace "This" in the commit message with some more descriptive wording and the confusion

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

2019-11-03 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added subscribers: cfe-commits, jfb, guansong, bollu, hiraditya, mgorny. Herald added projects: clang, LLVM. This is th

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

2019-11-03 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 5 inline comments as done. jdoerfert added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.h:29 - OMPD_unknown + OMPD_unknown, }; These changes do not impact Clang nor do they remove functionality (if OPENMP_DIRECTIVE is

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

2019-11-04 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 12 inline comments as done. jdoerfert added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.h:23-24 enum OpenMPDirectiveKind { -#define OPENMP_DIRECTIVE(Name) \ - OMPD_##Name, #define OPENMP_DIRECTIVE_EXT(Name, Str) \ ABatae

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

2019-11-04 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 7 inline comments as done. jdoerfert added inline comments. Comment at: llvm/include/llvm/IR/OpenMPIRBuilder.h:33 + /// IDs for all OpenMP directives. + enum DirektiveKind { +#define OMP_DIRECTIVE(Enum, ...) Enum, ABataev wrote: > jdoerfert wro

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

2019-11-04 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 16 inline comments as done. jdoerfert added a comment. In D69785#1732951 , @rogfer01 wrote: > I made a small experiment lowering a `taskwait` (which is even simpler than > `barrier` in "lowering" complexity). It was pretty straightforward

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added a subscriber: jholewinski. Herald added projects: clang, LLVM. The new OpenMPConstants.h is a location for all Op

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227891. jdoerfert marked 5 inline comments as done. jdoerfert added a comment. Split D69853 out and changed according to (most) comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227895. jdoerfert marked an inline comment as done. jdoerfert added a comment. Be consistent wrt. enum classes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files:

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 3 inline comments as done. jdoerfert added inline comments. Comment at: clang/lib/Basic/OpenMPKinds.cpp:408 OpenMPClauseKind CKind) { - assert(DKind <= OMPD_unknown); assert(CKind <= OMPC_unknown); ABa

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227900. jdoerfert marked 6 inline comments as done. jdoerfert added a comment. Minor changes according to comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Fil

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added inline comments. Comment at: clang/include/clang/Driver/Options.td:1643 HelpText<"Emit OpenMP code only for SIMD-based constructs.">; +def fopenmp_new_codegen : Flag<["-"], "fopenmp-new-codegen">, Group, Flags<[CC1Option, NoArgumentUnused, HelpHidden]>, + Hel

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227902. jdoerfert added a comment. make it a class (NFC) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: clang/include/clang/Basic/LangOptions.def clang/in

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added a comment. In D69785#1734205 , @ABataev wrote: > Also, I think it would better to split LLVM part and clang part into separate > patches. What do you mean exactly and why? C

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. FWIW, *I will enable the new pass in some tests before this goes in* Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 ___ cfe-commits

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added inline comments. Comment at: clang/include/clang/Driver/Options.td:1643 HelpText<"Emit OpenMP code only for SIMD-based constructs.">; +def fopenmp_new_codegen : Flag<["-"], "fopenmp-new-codegen">, Group, Flags<[CC1Op

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227948. jdoerfert marked 5 inline comments as done. jdoerfert added a comment. Addressed review comments, simplified some changes, moved file, ... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69853/new/ http

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4011 unsigned NamedModifiersNumber = 0; - SmallVector FoundNameModifiers( - OMPD_unknown + 1); + SmallVector + FoundNameModifiers(unsigned(OMPD_unknow

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D69853#1734620 , @ABataev wrote: > Again, better to split into 2 patches, one for LLVM and one for clang. I split the other patch, but this one cannot be split in a reasonable (=testable) manner. Splitting a patch only to h

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4011 unsigned NamedModifiersNumber = 0; - SmallVector FoundNameModifiers( - OMPD_unknown + 1); + SmallVector + FoundNameModifiers(unsigned(OMPD_unknow

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227986. jdoerfert marked 3 inline comments as done. jdoerfert added a comment. LLVM stuff only + unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: ll

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

2019-11-05 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 227985. jdoerfert added a comment. More updates Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69853/new/ https://reviews.llvm.org/D69853 Files: clang/include/clang/AST/OpenMPClause.h clang/include/clang/

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

2019-11-06 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 5 inline comments as done. jdoerfert added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4011 unsigned NamedModifiersNumber = 0; - SmallVector FoundNameModifiers( - OMPD_unknown + 1); + SmallVector + FoundNameModifiers(unsigned(OMPD_unknow

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

2019-11-06 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 6 inline comments as done. jdoerfert added inline comments. Comment at: clang/include/clang/Basic/LangOptions.def:215 LANGOPT(OpenMPCUDAMode, 1, 0, "Generate code for OpenMP pragmas in SIMT/SPMD mode") +LANGOPT(OpenMPNewCodegen , 1, 0, "Use the experimenta

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

2019-11-06 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228126. jdoerfert marked an inline comment as done. jdoerfert added a comment. working version Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69853/new/ https://reviews.llvm.org/D69853 Files: clang/include/

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

2019-11-06 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228134. jdoerfert marked 3 inline comments as done. jdoerfert added a comment. LLVM code only, added unit test and fix issues Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/

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

2019-11-06 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added a project: clang. This is the initial patch to use the OpenMP-IR-Builder, as discussed on the mailing list ([1] a

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:3489 + !OMPRegionInfo->hasCancel())) { +OMPBuilder->CreateBarrier({CGF.Builder.saveIP()}, Kind, ForceSimpleCall, +

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:3489 + !OMPRegionInfo->hasCancel())) { +OMPBuilder->CreateBarrier({CGF.Builder.saveIP()}, Kind, ForceSimpleCall, +

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228259. jdoerfert added a comment. Improve type generation & handling, provide examples for function types and more attributes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. Are there blocking issues on this one or can we go ahead and adjust minor details as we go? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69853/new/ https://reviews.llvm.org/D69853 ___

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228264. jdoerfert added a comment. Make the command line option shorter (mentioning openmp once should suffice) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files:

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228270. jdoerfert added a comment. Update test attributes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files: clang/include/clang/Basic/LangOptions.def clang/i

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert 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">, Grou

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added a comment. In D69853#1737264 , @ABataev wrote: > In D69853#1737218 , @jdoerfert wrote: > > > Are there blocking issues on this one or can we go ahead and

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228275. jdoerfert marked an inline comment as done. jdoerfert added a comment. Use an llvm::IndexedMap instead of std::map Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69853/new/ https://reviews.llvm.org/D69

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added inline comments. Comment at: clang/include/clang/Basic/Attr.td:3310 +VariadicUnsignedArgument<"CtxSelectorSets">, +VariadicUnsignedArgument<"CtxSelectors">, VariadicStringArgument<"ImplVendors"> Is it possible to have a `VariadicObjec

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228281. jdoerfert added a comment. Add driver test coverage Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files: clang/include/clang/Basic/LangOptions.def clang

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added inline comments. Comment at: clang/include/clang/Basic/Attr.td:3310 +VariadicUnsignedArgument<"CtxSelectorSets">, +VariadicUnsignedArgument<"CtxSelectors">, VariadicStringArgument<"ImplVendors"> ABataev wrote: > jdoerfert wrote: > > I

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added a comment. In D69853#1737426 , @ABataev wrote: > In D69853#1737319 , @jdoerfert wrote: > > > In D69853#1737264 , @

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 4 inline comments as done. jdoerfert 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" +//

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

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

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. In D69785#1737581 , @lebedev.ri wrote: > As far as i can tell the builder does not add any debug info. > Should it? It does now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228320. jdoerfert added a comment. Use source location information to build the ident string and debug info. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files:

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228328. jdoerfert added a comment. Remove accidental newline change Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: llvm/include/llvm/IR/OpenMPConstants.h

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228327. jdoerfert added a comment. Adjust RTL attributes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: llvm/include/llvm/IR/DebugInfoMetadata.h llvm/incl

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228331. jdoerfert marked 2 inline comments as done. jdoerfert added a comment. Herald added a project: LLVM. Adjust tests as requested Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.

[PATCH] D69984: [OpenMP][Opt] Annotate known runtime functions and deduplicate more

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added a project: LLVM. jdoerfert removed a subscriber: cfe-commits. jdoerfert added a parent revision: D69930: [OpenMP]

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

2019-11-07 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228364. jdoerfert added a comment. Do not eagerly create function declarations Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: llvm/include/llvm/IR/OpenMPCon

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert 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 (Instructio

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert 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_

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert 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_

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added a comment. jdoerfert 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

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. I think we are almost there. Last remaining points: - Constructor (see below) - enum naming scheme (see below) - can we test this somehow? Comment at: clang/include/clang/Basic/OpenMPKinds.h:43 +/// Struct to store the context selectors info. +templ

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

2019-11-08 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert 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_

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert accepted this revision. jdoerfert added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69952/new/ https://reviews.llvm.org/D69952

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228754. jdoerfert marked an inline comment as done. jdoerfert added a comment. Make attributes opt-in Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: llvm/in

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 2 inline comments as done. jdoerfert added inline comments. Comment at: llvm/include/llvm/IR/OpenMPConstants.h:57 +#include "llvm/IR/OpenMPKinds.def" + LLVM_MARK_AS_BITMASK_ENUM(0x7FFF) +}; ABataev wrote: > Why do you use `0x7FFF` as the

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228772. jdoerfert added a comment. update test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files: clang/include/clang/Basic/LangOptions.def clang/include

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228788. jdoerfert marked 2 inline comments as done. jdoerfert added a comment. Create llvm/libFrontend, move code there, make shared library builds work. llvm/IR/ is an unfortunate location as we cannot use llvm utility functions without introducing depende

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228792. jdoerfert added a comment. Add cancel_barrier functionality + test, move everything to "Frontend" Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69785/new/ https://reviews.llvm.org/D69785 Files: llv

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

2019-11-11 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 228801. jdoerfert added a comment. Use IRBuilder for cancel barriers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files: clang/include/clang/Basic/LangOptions.de

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

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked 3 inline comments as done. jdoerfert added inline comments. Comment at: llvm/include/llvm/IR/OpenMPKinds.def:186 +///{ + +#ifndef OMP_IDENT_FLAG JonChesterfield wrote: > Meinersbur wrote: > > JonChesterfield wrote: > > > jdoerfert wrote: > > > >

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

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

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

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

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

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

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

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

[PATCH] D70143: Check result of emitStrLen before passing it to CreateGEP

2019-11-12 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. One style comment, patch looks conceptually fine to me otherwise. I'll wait to accept on how we fall on the test issue: I'd opt for an `opt` test if possible. Comment at: llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp:370 +: nullp

[PATCH] D70143: Check result of emitStrLen before passing it to CreateGEP

2019-11-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added inline comments. Comment at: llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp:370 +: nullptr; +} return nullptr; dim wrote: > jdoerfert wrote: > > Consistent style please: > > > > ``` > > if (Value *StrLen = emitStrLen(

[PATCH] D70143: Check result of emitStrLen before passing it to CreateGEP

2019-11-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert added a comment. thx. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70143/new/ https://reviews.llvm.org/D70143 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

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

2019-11-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

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

2019-11-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

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

2019-11-13 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert updated this revision to Diff 229233. jdoerfert added a comment. Adjust paths and test case options Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69922/new/ https://reviews.llvm.org/D69922 Files: clang/include/clang/Basic/LangOptions.d

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

2019-11-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added subscribers: cfe-commits, guansong, bollu, hiraditya. Herald added projects: clang, LLVM. As a permanent and gene

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

2019-11-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:200 +OpenMPIRBuilder::InsertPointTy +OpenMPIRBuilder::emitBarrierImpl(const LocationDescription &Loc, Directive Kind, +

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

2019-11-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert marked an inline comment as done. jdoerfert added inline comments. Comment at: llvm/lib/Frontend/OpenMPIRBuilder.cpp:228 + getOrCreateThreadID(getOrCreateIdent(SrcLocStr))}; + bool UseCancelBarrier = !ForceSimpleCall && CancellationBlock; + Value *Re

[PATCH] D70289: [OpenMP][NFCI] Use the libFrontend ProcBindKind in Clang

2019-11-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added subscribers: cfe-commits, guansong, bollu, jholewinski. Herald added a project: clang. This removes the OpenMPPro

[PATCH] D70290: [OpenMP] Use the OpenMPIRBuilder for "omp parallel"

2019-11-14 Thread Johannes Doerfert via Phabricator via cfe-commits
jdoerfert created this revision. jdoerfert added reviewers: kiranchandramohan, ABataev, RaviNarayanaswamy, gtbercea, grokos, sdmitriev, JonChesterfield, hfinkel, fghanim. Herald added subscribers: guansong, bollu. Herald added a project: clang. NOTE: This patch needs tests and is missing privatiz

<    8   9   10   11   12   13   14   15   16   17   >