<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hey all,<div class=""><br class=""></div><div class="">There were some huge improvements in LLVM’s intrinsics lookup that dramatically reduce object file size and compile time.</div><div class=""><br class=""></div><div class="">Specifically, <font face="Menlo" class="">llvm/IR/Intrinsics.h</font> gained <span style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; white-space: pre; background-color: rgb(255, 255, 255);" class="">lookupLLVMIntrinsicByName</span><span style="white-space: pre; background-color: rgb(255, 255, 255);" class="">, which replaces</span> 44k lines of tablegen’d code in <font face="Menlo" class="">llvm/IR/Intrinsics.gen</font> with a binary search. It seems to have reduced object size by 400KB and compile time by about 35s. We include <font face="Menlo" class="">Intrinsics.gen</font> in <font face="Menlo" class="">lib/AST/Builtins.cpp</font>.</div><div class=""><br class=""></div><div class="">We should look into cherry-picking those changes into <font face="Menlo" class="">apple/swift-llvm</font> to see if we can benefit from those compile time and size improvements.</div><div class=""><br class=""></div><div class="">The relevant SVN revisions are r258757, r258774, r258871, r258875, and r258897.</div><div class=""><br class=""></div><div class="">— Harlan</div></body></html>