How LLVM Optimizes a Function – Embedded in Academia edit / delete

A nice walkthrough of how LLVM's optimisation passes rewrite a simple loop. This assumes you know how LLVM's SSA representation works, but it'll still make sense even if you don't.

to cmp409 compiler llvm loop optimisation ... on 11 September 2018

Cling | ROOT a Data analysis Framework edit / delete

"Cling is an interactive C++ interpreter, built on the top of LLVM and Clang libraries."

to c++ clang interpreter llvm ... on 06 December 2016

Numba — Numba edit / delete

"Numba is an just-in-time specializing compiler which compiles annotated Python and NumPy code to LLVM (through decorators)."

to compiler jit llvm numeric numpy python ... on 28 April 2014

STABILIZER: statistically sound performance evaluation edit / delete

Neat trick: this uses some LLVM instrumentation to shuffle memory layout around in a program while it's running, to randomise the effects of layout on performance. As a result of the central limit theorem, this tends to normalise the distribution of timing errors too (provided your program runs long enough to have been thoroughly shuffled).

to benchmarking compiler llvm performance research statistics timing ... on 01 April 2014

pocl - Portable Computing Language edit / delete

LLVM-based OpenCL implementation.

to compiler gpgpu llvm opencl pocl ... on 29 July 2013 Friday Q&A 2013-06-28: Anatomy of a Compiler Bug edit / delete

Excellent description of how to track down a Clang code generation bug.

to bugs clang debugging llvm ... on 11 July 2013

Libcpu edit / delete

LLVM-based generic CPU emulation library.

to cpu emulation llvm software ... on 15 January 2013

Home · kripken/emscripten Wiki · GitHub edit / delete

Compiles LLVM output to Javascript. Claims to achieve about 25% the speed of native code, which is pretty impressive. Javascript Transterpreter, anyone?

to compiler javascript llvm software ... on 28 July 2012

The KLEE Symbolic Virtual Machine edit / delete

Symbolic execution for LLVM; this can automatically compute testcases to cause assertions to fail in arbitrary programs. The introductory paper's pretty neat.

to compiler llvm research static-checking tock ... on 09 April 2010

Things that amuse me edit / delete

Using the high-level LLVM bindings in Haskell to compile a typed language. This is awfully cute, but I'm not sure how you'd handle a language that let the user define their own datatypes -- you'd need a Haskell-type-level representation of source-level datatype names...

to compiler haskell llvm research tock types ... on 16 June 2009

Browser bookmarks: tasty+ | tasty= Log in | Export | Atom