<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 18, 2020 at 12:58 AM Prashanth N R via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Michael-</div><div><br></div><div>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.</div><div>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.</div></div></blockquote><div><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Speaking 1st hand here.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">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.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">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.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">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.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I must admit that I feel a bit smug that design choices I made 10 years ago are finally being taken seriously around here.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div></div>