LLVM Weekly - #2, Jan 13th 2014

Welcome to the second issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. Thank you to everyone who has given positive feedback or suggestions, I'm planning in future editions to integrate some sort of statistics of git activity and contributions as well as activity on Bugzilla. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at http://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

Stephen Diehl has published a Haskell adaptation of the 'Kaleidoscope' tutorials on how to implement aJIT compiled language using LLVM. This was received very positively and prompted some discussion on HN.

Registration for EuroLLVM is now open. There's still time to submit your talk, poster or workshop proposals too.

Rust 0.9 has been released. Rust is a systems programming language which targetting LLVM with a particular emphasis on type safety, memory safety and concurrency. One of the core Rust developers at Mozilla, Niko Matsakis, also gave a talk at linux.conf.au introducing Rust.

Coverity 7 now includes Clang compiler support.

On the mailing lists

LLVM commits

The Sparc ASM parser has seen further development, learning to parse branch instructions, conditional moves, and floating point instructions and more. It also gained an initial disassembler implementation. r198738, r199033, r198591

In SimplifyCFG will now understand that when building a lookup table for a switch with no holes that it doesn't need a default result. According to the commit message, this saves 164KB off the clang binary in a bootstrap build. r199025

The new pass manager saw further developments. r198998 and many others (prefixed with [PM] in the commit logs)

The SampleProfile pass saw further development. Profile samples are propagated through the CFG, heuristically converting instruction samples to branch weights. Work was done to extend and simplify the format of sample profile input files. r198972, r198973

The LoopVectorizer can use versioning for strided memory access. r198950

In DataLayout, 'w' is now used rather than 'c' for win32 name mangling. r198938

The LLVM developer policy was updated to more clearly spell out how to submit patches to the project. r198901

WriteAsOperand has been killed in favour of the the printAsOperand method. r198836

The x86 backend learned some more AVX-512 intrinsics. r198745

Clang commits