<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="">Edited: My editor just contacted me that they prefer to give out free eBooks to people live in US first, due to some marketing concerns.<div class="">I sincerely apologize for this inconvenient. However, please don’t hesitate contact me if you’re interested in this book, I have some promotion code you can apply that doesn’t have such region restriction.</div><div class=""><br class=""></div><div class="">Thank you!</div><div class="">-Min<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 28, 2021, at 9:41 AM, Min-Yih Hsu <<a href="mailto:minyihh@uci.edu" class="">minyihh@uci.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi All,<div class=""><br class=""></div><div class="">I’m glad to tell you that my new book on Clang and LLVM Middle-End development has just been released.</div><div class=""><br class=""></div><div class="">“LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries"</div><div class=""><a href="https://www.amazon.com/Techniques-Practices-Clang-Middle-End-Libraries/dp/1838824952" class="">https://www.amazon.com/Techniques-Practices-Clang-Middle-End-Libraries/dp/1838824952</a> </div><div class=""><br class=""></div><div class="">Here are some highlighted topics:</div><div class=""> - How to save computation resources when building LLVM</div><div class=""> - Using LIT in out-of-tree projects</div><div class=""> - Developing custom TableGen backend</div><div class=""> - Creating custom Clang toolchain</div><div class=""> - Clang AST plugin development</div><div class=""> - Writing LLVM Pass 101 — new PassManager edition</div><div class=""> - LLVM development utilities (e.g. Error handling and timer) in a nutshell</div><div class=""> - PGO and sanitizer development</div><div class=""><br class=""></div><div class="">I think many of these topics are useful for LLVM developers — especially those who work closely with upstream. It will be great if you can take a look and please don’t hesitate to share your feedbacks with me!</div><div class=""><br class=""></div><div class="">I would also like to give out some digital versions of this book — for free — to people here. To appreciate this community for always being nice and inclusive :-)</div><div class="">Please contact me (<a href="mailto:minyihh@uci.edu" class="">minyihh@uci.edu</a>) if you’re interested.</div><div class=""><br class=""></div><div class="">Thank you!</div><div class="">-Min</div></div></div></blockquote></div><br class=""></div></body></html>