<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Michael (and others), here are the <a href="https://docs.google.com/presentation/d/11-VjSNNNJoRhPlLxFgvtb909it1WNdxTnQFipryfAPU/edit#slide=id.g7d334b12e5_0_4" class="">slides from the CGO presentation,</a> please let us know if you have any questions!<div class=""><br class=""></div><div class="">-Chris<br class=""><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Feb 25, 2020, at 3:03 PM, Michael Kruse <<a href="mailto:llvm@meinersbur.de" class="">llvm@meinersbur.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Looking forward to your presentation.<br class=""><br class="">Michael<br class=""><br class="">Am Di., 25. Feb. 2020 um 16:24 Uhr schrieb Chris Lattner <<a href="mailto:clattner@nondot.org" class="">clattner@nondot.org</a>>:<br class=""><blockquote type="cite" class=""><br class="">I’ve added notes about these Michael and Prashanth! Thanks!<br class=""><br class="">-Chris<br class=""><br class=""><blockquote type="cite" class="">On Feb 22, 2020, at 6:19 PM, Michael Kruse <<a href="mailto:llvm@meinersbur.de" class="">llvm@meinersbur.de</a>> wrote:<br class=""><br class="">Am Do., 20. Feb. 2020 um 21:04 Uhr schrieb Chris Lattner via cfe-dev<br class=""><<a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a>>:<br class=""><blockquote type="cite" class="">I’m presenting a talk next Wednesday at CGO’20 about MLIR, and will be talking about some “how and why could clang and llvm use mlir” concepts. I already hope to cover:<br class=""><br class="">- better separation of concerns in general.<br class="">- Make abi lowering be clang-independent<br class="">- Share OpenMP lowering across frontends, enable better openmp optimization (e.g. constant folding and hoisting across parallel loops is trivial)<br class="">- enabling high level optimizations (e.g. insert std::vector::reserve calls based on data flow analysis)<br class="">- Merging the clang CFG representation into the main flow<br class=""><br class="">I’ll also mention some of the benefits of moving LLVM IR to MLIR - including things like multithreaded compilation, better location tracking, better modeling of invoke and other terminators, etc.<br class=""><br class="">If anyone has any other specific things you’d like me to mention, please let me know! I’ll be happy to share the slides with this list after the talk. Thanks!<br class=""></blockquote><br class="">If the flat CFG representation is only the first step, I'd be<br class="">interested in what what the end goal for representing<br class="">coroutines/if/while/do/for/switch statements would, especially in<br class="">combination with other statements such as<br class="">goto/continue/break/return/exceptions/destructors.<br class=""><br class="">Michael<br class=""></blockquote><br class=""></blockquote></div></div></blockquote></div><br class=""></div></div></body></html>