<div dir="ltr">Thanks for keeping running this, Alex. LLVM weekly is a great resource for those weeks when you just don't have time to go through the full mailing list archives.<div><br></div><div>Eli</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 29, 2014 at 2:02 AM, Alex Bradbury <span dir="ltr"><<a href="mailto:asb@asbradbury.org" target="_blank">asb@asbradbury.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">LLVM Weekly - #52, Dec 29th 2014<br>
===============================<br>
<br>
If you prefer, you can read a HTML version of this email at<br>
<<a href="http://llvmweekly.org/issue/52" target="_blank">http://llvmweekly.org/issue/52</a>>.<br>
<br>
Welcome to the fifty-second issue of LLVM Weekly, a weekly newsletter<br>
(published every Monday) covering developments in LLVM, Clang, and related<br>
projects. LLVM Weekly is brought to you by [Alex<br>
Bradbury](<a href="http://asbradbury.org" target="_blank">http://asbradbury.org</a>). Subscribe to future issues at<br>
<<a href="http://llvmweekly.org" target="_blank">http://llvmweekly.org</a>> and pass it on to anyone else you think may be<br>
interested. Please send any tips or feedback to <<a href="mailto:asb@asbradbury.org">asb@asbradbury.org</a>>, or<br>
@llvmweekly or @asbradbury on Twitter.<br>
<br>
This issue marks the end of one full year of LLVM Weekly. It's a little<br>
shorter than usual as the frenetic pace of LLVM/Clang development has slowed<br>
over the holiday period. Surprising even to me is that we managed to make it<br>
all 52 weeks with an issue every Monday as promised. This requires a<br>
non-trivial amount of time each week (2-3+ hours), but I am intending to keep<br>
it going into 2015. I'd like to give a big thank you to everyone who's said hi<br>
at a conference, sent in corrections or tips on content, or just sent a random<br>
thank you. It's been very helpful in motivation. I don't currently intend to<br>
change anything about the structure or content of each issue for next year,<br>
but if you have any ideas then please let me know.<br>
<br>
I can't make it to 31C3 due to the awkward timing of the event, but do let me<br>
know if there are any LLVM/Clang related talks worth sharing. There was a<br>
[talk about Code Pointer<br>
Integrity](<a href="https://events.ccc.de/congress/2014/Fahrplan/events/6050.html" target="_blank">https://events.ccc.de/congress/2014/Fahrplan/events/6050.html</a>)<br>
which has previously been covered in LLVM Weekly and is working towards<br>
upstreaming. The video is [here](<a href="http://streaming.media.ccc.de/relive/6050" target="_blank">http://streaming.media.ccc.de/relive/6050</a>).<br>
If you're interested in [lowRISC](<a href="http://www.lowrisc.org" target="_blank">http://www.lowrisc.org</a>) and at 31C3, Bunnie<br>
is leading a<br>
[discussion about<br>
it](<a href="https://events.ccc.de/congress/2014/wiki/Session:LowRISC_Discussion" target="_blank">https://events.ccc.de/congress/2014/wiki/Session:LowRISC_Discussion</a>)<br>
at 2pm on Monday (today).<br>
<br>
<br>
## News and articles from around the web<br>
<br>
There doesn't seem to have been any LLVM or Clang related news over the past<br>
week. Everyone seems to be busy with non-LLVM related activities over the<br>
christmas break. If you're looking for a job though, Codeplay tell me they<br>
have two vancancies: one for a [debugger<br>
engineer](<a href="https://www.codeplay.com/company/jobs/view.html?uid=15#.VJft5P84JA" target="_blank">https://www.codeplay.com/company/jobs/view.html?uid=15#.VJft5P84JA</a>)<br>
and another for a<br>
[compiler engineer](<a href="https://www.codeplay.com/company/jobs/view.html?uid=12#.VJft7_84JA" target="_blank">https://www.codeplay.com/company/jobs/view.html?uid=12#.VJft7_84JA</a>).<br>
<br>
<br>
## On the mailing lists<br>
<br>
* David Li has shared some [early info on Google's plans for<br>
LTO](<a href="http://article.gmane.org/gmane.comp.compilers.llvm.devel/80167" target="_blank">http://article.gmane.org/gmane.comp.compilers.llvm.devel/80167</a>). He<br>
describes the concept of 'peak optimization performance' and some of the<br>
objectives of the new design. This includes the ability to handle programs 10x<br>
or 100x the size of Firefox. We can expect more information in 2015, maybe as<br>
early as January.<br>
<br>
* The discussion on possible approaches to reducing the size of libLLVM has<br>
continued. Chris Bieneman has [shared some more size<br>
stats](<a href="http://article.gmane.org/gmane.comp.compilers.llvm.devel/80096" target="_blank">http://article.gmane.org/gmane.comp.compilers.llvm.devel/80096</a>). These<br>
gains come from removing unused intrinsics. Chandler Carruth has followed up<br>
with a pleasingly thought-provoking argument on a different approach:<br>
[target-specific intrinsics shouldn't exist in the LLVM front or<br>
middle-end](<a href="http://article.gmane.org/gmane.comp.compilers.llvm.devel/80130" target="_blank">http://article.gmane.org/gmane.comp.compilers.llvm.devel/80130</a>).<br>
He describes the obvious issues with this, with the most fiddly probably being<br>
instruction selection converting appropriate IR to the right target-specific<br>
functionality.<br>
<br>
<br>
## LLVM commits<br>
<br>
* The SROA (scalar replacement of aggregates) pass has seen some refactoring<br>
to, in the future, allow for more intelligent rewriting.<br>
[r224742](<a href="http://reviews.llvm.org/rL224742" target="_blank">http://reviews.llvm.org/rL224742</a>),<br>
[r224798](<a href="http://reviews.llvm.org/rL224798" target="_blank">http://reviews.llvm.org/rL224798</a>).<br>
<br>
* The masked load and store intrinsics have been documented.<br>
[r224832](<a href="http://reviews.llvm.org/rL224832" target="_blank">http://reviews.llvm.org/rL224832</a>).<br>
<br>
* CodeGenPrepare learned to speculate calls to llvm.cttz/ctlz (count<br>
trailing/leading zeroes) if `isCheapToSpeculateCtlz/isCheapToSpeculatCttz` in<br>
TargetLowering return true. [r224899](<a href="http://reviews.llvm.org/rL224899" target="_blank">http://reviews.llvm.org/rL224899</a>).<br>
<br>
<br>
## Clang commits<br>
<br>
* The Clang internals manual has been extended with stub sections on Parse,<br>
Sema, and CodeGen. [r224894](<a href="http://reviews.llvm.org/rL224894" target="_blank">http://reviews.llvm.org/rL224894</a>).<br>
<br>
<br>
## Other project commits<br>
<br>
* The libcxx LIT test-suite has seen a number of new configuration options.<br>
Even better, these are [now documented](<a href="http://libcxx.llvm.org/lit_usage.html" target="_blank">http://libcxx.llvm.org/lit_usage.html</a>).<br>
[r224728](<a href="http://reviews.llvm.org/rL224728" target="_blank">http://reviews.llvm.org/rL224728</a>).<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>