[llvm-dev] [flang-dev] MLIR for clang

C Bergström via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 17 09:12:55 PST 2020


On Tue, Feb 18, 2020 at 12:58 AM Prashanth N R via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi Michael-
>
> 1. We intent to fork clang for MLIR at a particular release and develop.
> We will mostly merge with the master as soon as we reach a good milestones.
> Most of the development is expected to happen in github or some such
> version control system.
> 2. MLIR is extensible and we are hoping that constructs like exceptions
> can be represented in MLIR. As we dive deep into design we might be able to
> answer the question in detail.
>

Speaking 1st hand here.

Note: There's a number of internal lowering processes between clang and
llvm and so I'll use general terms to describe it for simplicity.

When "we" (PathScale) made clang emit High WHIRL instead of "whatever" it
really isn't as bad as some people around here may think. I'd guess it only
took us about 2 years to go from zero to production quality and self
hosting. This was multiple engineers working concurrently and dealing with
a lot of legacy. I could easily see it taking less time if you don't have
to bring up advanced loop optimizations or care too much about EH stuff.

I'm not sure how much use or value it would be to anyone, but I have and
control all of that code. Briefly, we hook into clang directly after AST
and then swap out the IR "codegen" for what we coined WhirlGen.

I must admit that I feel a bit smug that design choices I made 10 years ago
are finally being taken seriously around here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200218/618b578e/attachment.html>


More information about the llvm-dev mailing list