@DavidTruby I have a few questions/comments.
A few questions.
Sun, May 31
Thanks @schweitz for this stub. It will be a good place to start for the OpenMP lowering.
Fri, May 29
Thu, May 28
Looks OK to me. It will be great if @tskeith can review.
It uses the custom parser and printer.
Mon, May 25
Thanks @schweitz for submitting this change. I also felt that putting out all the changes in PFTBuilder as a single step is the best way forward while preparing D79731. I guess this will simplify the introduction of the bridge code.
Sun, May 24
Thanks @sameeranjoshi for working on this.
Mon, May 18
Thu, May 14
Tue, May 12
There is now a buildbot for flang.
Wed, May 6
May 5 2020
Can you add a pointers to
- the discourse discussion for context in the summary?
- the openmp spec ( I think the link above has a pointer to it). Also say allocate from 5.0 is not there.
May 1 2020
I think @sscalpone's point is that the following currently works but will not work after this patch since we need to build clang (add to DLLVM_ENABLE_PROJECTS) also.
cmake ../llvm -DLLVM_ENABLE_PROJECTS="mlir;flang"
Apr 30 2020
The uniquing is required in the context of the MLIR Module symbol space. (Artifacts with a process lifetime such as functions, globals, etc.) Locals need not be uniqued as they have a unique identity as ssa-> values. (Their names are tracked with name attributes attached to the Op.)
Thanks @schweitz for the detailed reply.
Is the plan to upstream the code for conversion to LLVM IR before the code for lowering from parse tree to FIR?
Apr 29 2020
Could you comment on whether this mangling will have any effect on interfacing with C/C++? Will this have any effects on LTO. What happens if a bind name is specified?
Apr 24 2020
If all the concerns are addressed, you can merge. Thanks for working on this.
Apr 21 2020
I have just pushed this to the repo.
Apr 20 2020
Thanks for addressing the comments.
Apr 19 2020
Apr 18 2020
Apr 9 2020
I see the same crash without my change when enabling openmp-irbuilder in for_codegen.cpp tests. Command and stack trace below.
After rebasing, I see some crashes in the tests. That is why i did not submit. I will have a look again and see what is the issue.
Apr 7 2020
Thanks @kiranktp for working on this. Looks OK to me.
Mar 5 2020
Thanks for the reviews. Committing with changes suggested.
Feb 28 2020
Just wanted to check whether @rriddle has more comments on this patch.
Feb 21 2020
Will tests come in a later patch?
Feb 20 2020
Added LLVMFrontendOpenMP and MLIROpenMP to the dependency of MLIRLLVMIR and also linking these libraries along with MLIRLLVMIR. Removed from other clients.
Feb 19 2020
This revision includes the following changes,
-> Removed the enable-openmp flag.
-> Addressed review comments from @ftynse.
Feb 12 2020
Thanks for your comments.
MLIROpenMP and LLVMFrontendOpenMP libraries looks like an additional dependency for MLIR users who wants LLVM lowering and doesn't want anything to do with the OpenMP! I think Toy example cmake file changes is one of the early symptoms.
One way to handle that would be to go back to the first version of this patch which implements translation by deriving from public LLVM::ModuleTranslation.
I think conversion patterns would be more appropriate. But, I think, that is dependent on the decision to emit LLVM IR instead of LLVM Dialect.
LGTM. You can wait for a day in case other reviewers have comments.
Feb 11 2020
Looks OK to me.
Couple of comments inline.
Feb 7 2020
Feb 6 2020
Feb 4 2020
Feb 3 2020
Had a quick look today. Will spend some more time tomorrow.
Please see a few comments inline.
Jan 28 2020
Thanks @ftynse for the comments. I will make a patch soon to address comments. The only question is regarding the necessity of the flag. Please see comment inline.
Jan 27 2020
I don't remember that we ever fully resolved this(adding OpenMP Dialect). Can you make a ping on llvm.discourse.group to make sure?
The enable-openmp flag is now local to file mlir/lib/Target/LLVMIR/ModuleTranslation.cpp. Added a function to lazily create the OpenMPIR builder when an OpenMP dialect op is detected.
Jan 23 2020
I have taken @rriddle's suggestion and moved the translation into the LLVM translator. Also using unique pointer for the OpenMPIRBuilder. I believe this fixes the null pointer issue pointed out by @jdoerfert.
In this patch the code for translation is added to the existing LLVM dialect translation to LLVM IR. A new flag enable-openmp is used to enable the OpenMP translation.
Jan 17 2020
Made changes suggested by the clang-format bot.
Dec 10 2019
Dec 5 2019
Nov 29 2019
In general, I also worry that i might have missed some checks. I was hoping to get some pointers on how to run some tests so that we can minimise this. At the same time, I also feel that this change should not cause regressions.
Addressed review comments.
- Adding a test
- Change emitFlush to CreateFlush in OpenMPIRBuilder.cpp
- Use updateLoc
- Fixed formatting
Nov 28 2019
Nov 26 2019
Apologies, will wait for the reviews.
Does this patch need additional reviews or changes?
Nov 25 2019
- Fixed formatting in llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
- Updated test to work with minimal attributes and removed prefixes for checks
Nov 22 2019
Nov 20 2019
Nov 19 2019
Thanks @jdoerfert for working on this.
Sep 18 2019
Some minor comments about Filetypes and file extensions. Can be ignored or considered for a separate commit.