<div dir="ltr"><div>Hi,</div><div><br></div><div>As of Chrome m38, which shipped to stable a bit over a month ago, we are using clang as our production compiler for Linux – meaning that the bits we ship to users on Linux are now created by clang. It's now also our default host compiler for Chrome/Android builds (the target compiler is still gcc). We used to use gcc 4.6 before. Maybe this is interesting to others, hence this (somewhat belated) announcement.</div><div><br></div><div>We're using the same model we use on OS X: We use a pinned clang revision without any changes (these days, we sometimes cherrypick a few newer versions every now and then) that we update to ~trunk every few weeks.</div><div><div><br></div><div>The switch went off without larger problems, except one: The linux binaries that clang produces by default don't run on older 32-bit debians, an issue that we didn't find until our stable release. This is due to clang making assumptions about alignment that aren't true on 32-bit in practice. We worked around this and got an updated stable out relatively quickly, but producing broken 32-bit binaries by default is a great opportunity for improvement :-) I filed <a href="http://llvm.org/PR21414">http://llvm.org/PR21414</a> for this.</div><div><br></div></div><div>With the switch to clang, binary size dropped about 8% while performance mostly stayed the same. Startup time improved a bit, some microbenchmarks got faster, others got slower (I debugged the biggest slowdown, that turned out to be a benchmark bug). If you're interested <a href="https://chromeperf.appspot.com/group_report?rev=282246">https://chromeperf.appspot.com/group_report?rev=282246</a> has details, ignore all rows that aren't for "linux-release" or "chromium-rel-linux". page_cycler.tough_layout_cases for example got 2.5% faster, which is nice.</div><div><br></div><div>Thanks everyone for all your work building such a great compiler!<br></div><div><br></div><div>Nico</div></div>