[Openmp-dev] [RFC] Proposed interplay of Clang & Flang & LLVM wrt. OpenMP [@Flang-dev]

Guray Ozen via Openmp-dev openmp-dev at lists.llvm.org
Fri May 3 08:11:36 PDT 2019

+ Adding flang-dev, openmp-dev

Hi Johannes,

That sounds interesting. However, I have a few questions about your RFC.

From what I understand, you are suggesting a general "OpenMP-IRBuilder" where different frontends will benefit, and it will be in core-LLVM. However, the front ends may have very different AST. How do you plan to provide a common interface for different ASTs? If it will be aware of front-end ASTs, how would be a general IR builder? Also, if it is specific to AST, do you think it should be somewhere other than the core LLVM? 

You also outlining in the end, so will clang still do the early outlining?

- Guray 

-----Original Message-----
From: flang-dev <flang-dev-bounces at lists.flang-compiler.org> On Behalf Of Doerfert, Johannes via flang-dev
Sent: Friday, May 3, 2019 4:35 PM
To: Alexey Bataev <a.bataev at outlook.com>
Cc: flang-dev at lists.flang-compiler.org; Xinmin <xinmin.tian at intel.com>; Ravi <ravi.narayanaswamy at intel.com>
Subject: Re: [Flang-dev] [RFC] Proposed interplay of Clang & Flang & LLVM wrt. OpenMP [@Flang-dev]

[Respond on the flang-list to a comment on the others.]

> ________________________________
> From: Alexey Bataev <a.bataev at outlook.com>
> Sent: Thursday, May 2, 2019 11:54:14 AM
> To: Doerfert, Johannes; LLVM-Dev
> Cc: cfe-dev at lists.llvm.org; Openmp-dev
> Subject: Re: [Openmp-dev] [RFC] Proposed interplay of Clang & Flang & 
> LLVM wrt. OpenMP [@Flang-dev]
> What you're talking about is the late outlining, which should be the 
> part of the LLVM. As I understand, Intel already has preliminary 
> implementation of this and they promised to publish it in May.

This is completely unrelated to late outlining, which may or may not become part of LLVM:

- Late outlining is about _how_ parallelism/OpenMP is lowered in the
  front-end and potentially again later on.
- This proposal is about _where_ the encoding happens and how we keep
  Clang & Flang in-sync.

If we decide to adopt a late outlining scheme, there would be a single location where we implement it in the "front-end", the OpenMP-IRBuilder.

> Also, this was discussed some time ago, if I remember it correctly, 
> and it was recommended to implement this common codegen as a kind of 
> plugin. I don't remember the final result of this discussion, though.

I don't understand this comment. What do you mean by "kind of plugin"?
Is there a record of the discussion so we could look up the final result?



Johannes Doerfert

Argonne National Laboratory
Lemont, IL 60439, USA

jdoerfert at anl.gov

This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.

More information about the Openmp-dev mailing list